MATLAB: How to store data of FOR LOOP iteration

arrayfor loopMATLABmatrix array

In the following code i want all the data of each iteration to be stored in P_new, and also B_xq, B_xq , B_xq repectively, but what i get is only the last one. What needs to be changed in my code?
k = convhull(data_coord);
for i = 1:length(k)
v1_x = x_data(k(i,1));
v1_y = y_data(k(i,1));
v1_z = z_data(k(i,1));
v2_x = x_data(k(i,2));
v2_y = y_data(k(i,2));
v2_z = z_data(k(i,2));
v3_x = x_data(k(i,3));
v3_y = y_data(k(i,3));
v3_z = z_data(k(i,3));
p1 = [v1_x v1_y v1_z];
p2 = [v2_x v2_y v2_z];
p3 = [v3_x v3_y v3_z];
ps = [p1; p2; p3];
p12 = p2-p1;
p23 = p3-p2;
P = [p12; p23];
q = sqrt(rand(5, 1));
q = [q q.*rand(5, 1)];
P_new = q*P+p1;
F_Bx = scatteredInterpolant(data_coord, B_x,'nearest');
B_xq = F_Bx(P_new(:,1),P_new(:,2),P_new(:,3));
F_By = scatteredInterpolant(data_coord, B_y,'nearest');
B_yq = F_By(P_new(:,1),P_new(:,2),P_new(:,3));
F_Bz = scatteredInterpolant(data_coord, B_z,'nearest');
B_zq = F_Bz(P_new(:,1),P_new(:,2),P_new(:,3));
end

Best Answer

You can use P_new(i) or P_new{i} to store loop result.