Azzera filtri
Azzera filtri

For loop stops after one step

4 visualizzazioni (ultimi 30 giorni)
Avik Mahata
Avik Mahata il 25 Ago 2021
Commentato: Avik Mahata il 25 Ago 2021
Why does the below for loop stops after one step? L is a up to 1000. So I am expecting to get a matrix with 1000 rows. Thanks in advance for any suggestions.
for i=1:L
X= ((data_P_H2O(1,3).*data_P_NaF(i+1,3))-(data_P_NaF(1,3).*data_P_H2O(i+1,3)))*0.5 ;
Y = ((data_P_H2O(1,4).*data_P_NaF(i+1,4))-(data_P_NaF(1,4).*data_P_H2O(i+1,4)))*0.5 ;
Z = ((data_P_H2O(1,5).*data_P_NaF(i+1,5))-(data_P_NaF(1,5).*data_P_H2O(i+1,5)))*0.5 ;
PhiIW= X + Y + Z;
end

Risposta accettata

Steven Lord
Steven Lord il 25 Ago 2021
What makes you believe the loop stops after one step? Were you expecting PhilW to contain the sum of X, Y, and Z for each element of i? As written at each iteration you're overwriting the previous value of PhilW with the new value.
Compare:
for k = 1:10
x = k.^2; % Overwrite
y(k) = k.^2; % Append
end
x
x = 100
y
y = 1×10
1 4 9 16 25 36 49 64 81 100
  1 Commento
Avik Mahata
Avik Mahata il 25 Ago 2021
Well y(k) worked. I didn't realized I am not indexing each of the rows for it save the results in a matrix. Thanks for taking time to respond.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by