a loop problem in matlab
Afficher commentaires plus anciens
My code is:
for p=1:0.01:2;
plot3(p,p.^2,p.^3);
end
I want to use a loop of p to create a three dimentional figure. while no error occurs, the figure is strange. I simplify my code into the above code. Any help is very appreciated! Thanks.
2 commentaires
Adam Danz
le 10 Jan 2019
A solution was provided below but it does not explain why your code doesn't work and that's the important part.
There are two problems.
1) When you're plotting in a loop (which often can be avoided), you need to 'hold' the axes to prevent the plot from being over-written on each iteration. That would look something like this:
figure
ah = axes;
hold(ah, 'on')
for
plot(ah, x, y)
end
2) On each iteration of your for-loop, you're plotting a single point and since you didn't specify a marker type, plot3 is trying to draw a line. You can't draw a line with a single point which is why your plot ended up completely empty. One solution would have been to specify a marker type :
plplot3(p, p.^2, p.^3, 'bo')
But the best solution is to avoid the loop altogether as is demonstrated in the answer below.
James_111
le 10 Jan 2019
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Graphics Performance dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!