plot 3D
1 view (last 30 days)
Show older comments
hi there. let's say that i have 3 matrixes. A=[1:10], B=[1:10] and C=[1:10]. I also have a time line. tim=1:1/2:10 . Let's say that if you plot these matrixes with tim you can see how a particle is moving. (assuming that the 3 matrixes describes the movement of a particle). Can i do this in 3D ? for the different times to see where is the particle ? Thanks
0 Comments
Answers (3)
Walter Roberson
on 14 Jun 2011
There is plot3d(x,y,z). However, you are requesting a 4 dimensional plot (3 coordinates plus time), and there are no 4 dimensional plotting routines.
I note your tim vector has twice the number of values that A, B, and C does, and that confuses me as to what you want. If all of them were the same length, I would expect that you meant that the particle had position [A(K), B(K), C(K)] at time tim(K)
In order to display 4 dimensions of data simultaneously, you will need to encode one of the dimensions as either color or transparency. Color is easier.
I suggest that as a first approximation, you consider using scatter3(), coding the spacial dimension as X Y Z, and coding the time in either the color or dot-size parameter.
2 Comments
Teja Muppirala
on 15 Jun 2011
A = interpft(rand(1,10),1001);
B = interpft(rand(1,10),1001);
C = interpft(rand(1,10),1001);
t = 0:0.001:1;
figure
h = plot3(nan,nan,nan,'ro');
axis equal vis3d
box on
for n = 1:numel(t)
set(h,{'Xdata','Ydata','Zdata'},{A(n) B(n) C(n)});
title(t(n));
drawnow;
end
0 Comments
See Also
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!