# For loop stops after one step

10 views (last 30 days)
Avik Mahata on 25 Aug 2021
Commented: Avik Mahata on 25 Aug 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

Steven Lord on 25 Aug 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
Avik Mahata on 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.