Error in plot3: Vectors must be the same length

2 Ansichten (letzte 30 Tage)
Avi Michaely
Avi Michaely am 18 Jan. 2021
Kommentiert: Avi Michaely am 18 Jan. 2021
Hey, so I'm trying to use this function to plot a 2D circle on a 3D space, but I get this annoying error every time and I can't understand why:
function plotcircle(ax,x,y,z,r,color)
ang=0:0.01:2*pi;
xp=r*cos(ang);
yp=r*sin(ang);
zp = z*ones(1, length(ang));
if nargin == 6
plot3(ax, x+xp,y+yp, zp, 'Color',color);
else
plot3(ax, x+xp,y+yp, zp);
end
I've checked, and all 3 vectors are the same length and have 629 elements. Am I missing something?
Thank you.
  4 Kommentare
Walter Roberson
Walter Roberson am 18 Jan. 2021
You were passing in the result of axis() instead of axes()
plotcircle(axes(), 1, 2, 3, 4, 'r')
function plotcircle(ax,x,y,z,r,color)
ang=0:0.01:2*pi;
xp=r*cos(ang);
yp=r*sin(ang);
zp = z*ones(1, length(ang));
if nargin == 6
plot3(ax, x+xp,y+yp, zp, 'Color',color);
else
plot3(ax, x+xp,y+yp, zp);
end
end
Avi Michaely
Avi Michaely am 18 Jan. 2021
Ah * facepalm *
Thanks, it's working now :)

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Specifying Target for Graphics Output 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!

Translated by