フィルターのクリア

Trouble using while loop

1 回表示 (過去 30 日間)
Alexander Nicholas
Alexander Nicholas 2017 年 4 月 17 日
回答済み: Nick 2017 年 4 月 17 日
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 件のコメント
per isakson
per isakson 2017 年 4 月 17 日

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

回答 (1 件)

Nick
Nick 2017 年 4 月 17 日
You are setting i = 0 and then trying to access tempv[0]. In matlab indexing starts with 1 not 0.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by