Error in plot3: Vectors must be the same length

2 ビュー (過去 30 日間)
Avi Michaely
Avi Michaely 2021 年 1 月 18 日
コメント済み: Avi Michaely 2021 年 1 月 18 日
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 件のコメント
Walter Roberson
Walter Roberson 2021 年 1 月 18 日
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 2021 年 1 月 18 日
Ah * facepalm *
Thanks, it's working now :)

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSpecifying Target for Graphics Output についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by