I need to calculate the average using a while loop only. The first step is to add up all my vectors into one number. This is what I've done so far.
fid = fopen('Watts.dat');
r1 = fscanf(fid,'%f');
stop = 0;
sumx = 0;
n = 1;
while (stop <= 31)
f = r1(n)
sumx = r1(f) + sumx;
stop = stop +1;
n = n+1
end
However, I get the message
Attempted to access r1(2005.6); index must be a positive integer or logical.
I can't round these numbers. Do you guys have any suggestions?

댓글 수: 1

Khalid Ghwani
Khalid Ghwani 2021년 4월 3일
Use a while loop to write a Matlab program to find the average any set of numbers entered by the user (not of known size)

댓글을 달려면 로그인하십시오.

 채택된 답변

Jan
Jan 2015년 10월 18일
편집: Jan 2015년 10월 18일

1 개 추천

Replace
sumx = r1(f) + sumx;
by
sumx = f + sumx;
Note: You do not need two variables "n" and "stop". One of them is enough.
Do not forget to close opened files with fclose.

댓글 수: 1

student187
student187 2015년 10월 18일
Thank you for your time, however, don't I need the n to push matlab to find the next data point in the vector?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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

태그

질문:

2015년 10월 18일

댓글:

2021년 4월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by