How to store data of FOR LOOP iteration?
    8 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Nima
 le 27 Oct 2020
  
    
    
    
    
    Commenté : Sudhakar Shinde
      
 le 27 Oct 2020
            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
0 commentaires
Réponse acceptée
  Sudhakar Shinde
      
 le 27 Oct 2020
        You can use P_new(i) or P_new{i} to store loop result.
6 commentaires
  Sudhakar Shinde
      
 le 27 Oct 2020
				P_new is required for calculations, so use below syntax to store outcomes:
B_xq(:,i)
B_yq(:,i)
B_zq(:,i)
As above final outcome is your area of interest P_new need not to be saved in loop and use as it is written now.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

