Azzera filtri
Azzera filtri

Using while loop to determine average

10 visualizzazioni (ultimi 30 giorni)
student187
student187 il 18 Ott 2015
Commentato: Khalid Ghwani il 3 Apr 2021
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 Commento
Khalid Ghwani
Khalid Ghwani il 3 Apr 2021
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)

Accedi per commentare.

Risposta accettata

Jan
Jan il 18 Ott 2015
Modificato: Jan il 18 Ott 2015
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 Commento
student187
student187 il 18 Ott 2015
Thank you for your time, however, don't I need the n to push matlab to find the next data point in the vector?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by