# Plotting 3D points from numerous arrays

2 views (last 30 days)

Show older comments

Konstantinos Belivanis
on 7 Nov 2014

Answered: Daniel Iyinomen
on 7 Jun 2018

Hello all,

I have 210 arrays each one representing the x,y,z coordinates of a point (70 points). My arrays are named Point_1_x, Point_1_y, Point_1_z, etc.

I want to plot a 3D plot of the 70 points at a specific time (assume 20,1 cell in all arrays.

Is there a way to write a loop for the whole procedure with i ranging from 1 to 70 to create this plot as automatically as possible?

Thank you in advance.

### Accepted Answer

Konstantinos Belivanis
on 7 Nov 2014

##### 4 Comments

Orion
on 7 Nov 2014

this should work

t=20;

% init

X_Coords = zeros(70,1);

Y_Coords = zeros(70,1);

Z_Coords = zeros(70,1);

% loop on 70 files for the time t

for i=1:70

X_Coords(i) = eval(sprintf('Point_%d_x(t,1)',i));

Y_Coords(i) = eval(sprintf('Point_%d_y(t,1)',i));

Z_Coords(i) = eval(sprintf('Point_%d_z(t,1)',i));

end

% draw

plot3(X_Coords,Y_Coords,Z_Coords,'+');

### More Answers (2)

Orion
on 7 Nov 2014

I don't have data to work with and see the validity of the result, but I guess you need something like

% create array by concatenating the vectors for each directions.

% assuming all Point_1_x, Point_1_y, Point_1_z, etc. are columns vectors.

AllXdat = [];

AllYdat = [];

AllZdat = [];

for i = 1:70

AllXdat = [AllXdat eval(sprintf('Point_%d_x',i))];

AllYdat = [AllYdat eval(sprintf('Point_%d_y',i))];

AllZdat = [AllZdat eval(sprintf('Point_%d_z',i))];

end

% define the time you want to plot, and get the corresponding spatial values,

% assuming the value fot t = 20 is at the 20th position in the vectors : Point_1_x(20),...

mytime = 20;

XatTime = AllXdat(mytime,:);

YatTime = AllYdat(mytime,:);

ZatTime = AllZdat(mytime,:);

% plot at the desired time

plot3(XatTime,YatTime,ZatTime);

Daniel Iyinomen
on 7 Jun 2018

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!