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

 Akzeptierte Antwort

Steven Lord
Steven Lord am 25 Aug. 2021

0 Stimmen

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 Kommentar

Avik Mahata
Avik Mahata am 25 Aug. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by