Problem with filling a variable inside loops
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Dear experts,
I have 3 loops as shown in the code and want to find elements of t_p but the hmd variable is empty and not filling correctly. 
When I use commad window and for example set (i=10,j=10,k=10) the command works and the desired values are obtained.
The purpose of my code is to find the values for t_p that are within a specefic x,y,z range.
Many Thanks in advance.
p = readtable ('pnts.txt');
p = table2array(p);
x_p=p(:,2);
y_p=p(:,3);
z_p=p(:,4);
t_p=p(:,5); 
xedges=-100:10:100;
yedges=-100:10:100;
zedges=0:10:200;
for i = 1:length(xedges)-1
    for j = 1:length(yedges)-1
        for k = 1:length(zedges)-1
           hmd = t_p((xedges(i)<= x_p) & (x_p < xedges(i+1)) & ((yedges(j)<= y_p) & (y_p < yedges(j+1))) & ((zedges(k)<= z_p) & (z_p < zedges(k+1))));
        end
    end
end
0 comentarios
Respuesta aceptada
  VBBV
      
      
 el 6 de Ag. de 2022
        
      Editada: VBBV
      
      
 el 6 de Ag. de 2022
  
      p = readtable ('pnts.txt');
p = table2array(p);
x_p=p(:,2);
y_p=p(:,3);
z_p=p(:,4);
t_p=p(:,5); 
xedges=-100:10:100;
yedges=-100:10:100;
zedges=0:10:200;
for i = 1:length(xedges)-1
    for j = 1:length(yedges)-1
        for k = 1:length(zedges)-1
           hmd = t_p((xedges(i)>= x_p) & (x_p <= xedges(i+1)) & ((yedges(j)>= y_p) & (y_p <= yedges(j+1))) & ((zedges(k)>= z_p & (z_p) <= zedges(k+1))));
        end
    end
end
hmd
According to condition given inside the for loop  the number of points will vary, It appears for this data, it is 6109x1 matrix  
Más respuestas (0)
Ver también
Categorías
				Más información sobre Logical en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!