Hi,
I'm struggling a lot with a small part of my code, hope someone could help me out with it.
Basically, on the first elseif step, I want to add values from a matrix called Table2 when t>24, but I'm only getting values from the first if, which makes no sense to me.
y = 8;
x = 24;
for t = 9:48;
if t <= x
Temp_v(t) = Table(t,6) + Table2(t-y,6) - Table(t-y,6);
elseif x < t <= x+y
Temp_v(t) = Table(t,6) + Table2(t-8,6) - Table(t-8,6)+ Table(t-24,6) - Table2(t-x,6);
else
Temp_v(t) = Table(t,6) + Table2(t-y,6) - Table(t-y,6)+ Table(t-x,6) - Table2(t-x,6)+ Table2(t-(x+y),6) - Table(t-(x+y),6);
end
end
Thanks!

 Réponse acceptée

Adam Danz
Adam Danz le 1 Sep 2019
Modifié(e) : Adam Danz le 1 Sep 2019

0 votes

This
x < t <= x+y
should be
(x < t) && (t <= x+y)
Here's a demo that shows why the first line fails.
% This returns TRUE even though 5 is not less than 4
5 < 4 <= 8+1
% The reason is that the left side is evaluated first
5 < 4 % = false(0)
0 <= 8+1 % = true

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by