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!

 采纳的回答

Adam Danz
Adam Danz 2019-9-1
编辑:Adam Danz 2019-9-1
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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by