Vectors of different length when using plot3.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Snirisa Gödel
am 25 Sep. 2013
Kommentiert: Snirisa Gödel
am 26 Sep. 2013
Basically I want to do a 3D plot of 100 circles with different radii and on a new height plane(h) for each circle. The radius increase for each circle(constant increase) and h increase constantly.
I've never used plot3 before so this code is from the top of my head. I was thinking of using a for loop for both r and h as suggested below. But where should I begin the loop for h? In the beginning(just under r) or as below? And what does it mean that "vectors must be of same length". Which vector?
if true
% for r=1:1:100
t=linspace(0,2*pi);
x=r*cos(t);
y=r*sin(t);
for h=100:100:10000
z=h;
plot3(x,y,z)
end
end
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 26 Sep. 2013
You might want to rethink your parameters because it sort of looks like a mess with way too many circles on the screen, but anyway, run this:
for r=1:1:100
t=linspace(0,2*pi);
x=r*cos(t);
y=r*sin(t);
for h=100:100:10000
z=h * ones(1, length(t));
plot3(x,y,z);
if r == 1 && h == 100
hold on;
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
end
drawnow;
end
end
Weitere Antworten (2)
dpb
am 25 Sep. 2013
Why not try it and see if it's the effect desired?
From
doc plot3
...
plot3(x,y,z), where x, y and z are three vectors of the same length, ...
0 Kommentare
Roger Stafford
am 26 Sep. 2013
Change the line
plot3(x,y,z)
to
plot3(x,y,repmat(z,1,size(t,2)))
hold on
0 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Performance 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!