Why does my code does not work in the if loop

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 件のコメント

Jan
Jan 2017 年 3 月 22 日
There are no "if-loops". Only for and while create loops.

サインインしてコメントする。

回答 (1 件)

ES
ES 2017 年 3 月 22 日
編集済み: ES 2017 年 3 月 22 日

1 投票

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.

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2017 年 3 月 22 日

コメント済み:

Jan
2017 年 3 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by