Why does my code does not work in the if loop

1 view (last 30 days)
Low Kar Chuen
Low Kar Chuen on 22 Mar 2017
Commented: Jan on 22 Mar 2017
Hi there,
The question ask us to filter out the temperatures that is less than 5 deg C. the output for my T variable is 1 by 539 double matrix. By applying if loop, how do i make temperature that is less than 5 deg C to be 0? The following is my codes:
beta=15; T0=56.2; %intial temperature
t=1:0.0167:10;
T=T0-beta*t;
for n=1:length(T)
if T(n)<5
T=0
end
end
there is an error: Index exceeds matrix dimensions. Please help
  1 Comment
Jan
Jan on 22 Mar 2017
There are no "if-loops". Only for and while create loops.

Sign in to comment.

Answers (1)

ES
ES on 22 Mar 2017
Edited: ES on 22 Mar 2017
Once you set T = 0 inside your if, you lose all the array you created by doing T=T0-beta*t;
so you should have done
if T(n)<5
T(n)=0
end
instead of if, you can also do a
T(T<5) = 0
what this does is, for all values of T<5, it sets it to 0.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!