Using while loop to determine average

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 个评论

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
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 个评论

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 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by