Trouble using while loop
2 ビュー (過去 30 日間)
古いコメントを表示
I am trying to get the number of times the value tempv is 50 or higher, as well as the average of tempv, both using a while loop. I entered the below
clear, clc
tempv = [50, 60, 65, 30, 40, 66, 30, 55, 72, 72, 75, 50, 60, 65, 30, 40, ...
66, 30, 55, 63, 72, 75, 50, 60, 65, 30, 40, 66, 30, 55, 53];
% Write your code here:
n=0;
x=length(tempv);
sum=0;
i=0;
while i<31
if tempv(i) >= 50 && tempv(i) <= 75
n=n+1;
fprintf('It was a warm day on May %i\n', i)
end
sum=sum+tempv(i);
end
fprintf('In May the number of days the T was over 50 was: %i\n', n)
y=sum/x;
fprintf('The average temperature in Fahrenheit was: %f\n', y)
However this returns the following error in the command window:
Subscript indices must either be real positive integers or logicals.
What is the error referring to here? Where is my mistake?
回答 (1 件)
Nick
2017 年 4 月 17 日
You are setting i = 0 and then trying to access tempv[0]. In matlab indexing starts with 1 not 0.
0 件のコメント
参考
カテゴリ
Help Center および 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!