Clear Filters
Clear Filters

For loop stops after one step

10 views (last 30 days)
Avik Mahata
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;

Accepted Answer

Steven Lord
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.
for k = 1:10
x = k.^2; % Overwrite
y(k) = k.^2; % Append
x = 100
y = 1×10
1 4 9 16 25 36 49 64 81 100
  1 Comment
Avik Mahata
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.

Sign in to comment.

More Answers (0)


Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!