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
Nick 2017년 4월 17일

0 개 추천

You are setting i = 0 and then trying to access tempv[0]. In matlab indexing starts with 1 not 0.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2017년 4월 17일

답변:

2017년 4월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by