Problem with filling a variable inside loops
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
VBBV
am 6 Aug. 2022
Bearbeitet: VBBV
am 6 Aug. 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!