Error using plot3 - Vectors must be the same length
4 views (last 30 days)
Show older comments
i had constructed a code to plot 3d graph Magnetic Field
theta = [0:0.101:pi/2,3*pi/2:0.01:2*pi];
rho = sqrt(cos(theta));
[x,y]=pol2cart(theta,rho);
x1=real(x);
y1=real(y);
x2=[x1,-x1];
y2=[y1,-y1];
z=zeros(1,632);
plot3(x2,y2,z); hold on
for th=(29:29:340)
rotate(plot3(x2,y2,z,'b'),[0 1 0],th);
end
rho = 2*sqrt(cos(theta));
[x,y]= plo2cart(theta, rho);
x1=real(x);
y1=real(y);
x2=[x1,-x1];
y2=[y1,-y1];
for the=(20:20:340)
rotate(plot3(x2,y2,z,'a'),[0 1 0],th);
end
The problem is im getting error - "Vectors must be the same length.".any ideas?
0 Comments
Accepted Answer
Star Strider
on 9 Jan 2021
See if this does what you want:
theta = [0:0.101:pi/2,3*pi/2:0.01:2*pi];
rho = sqrt(cos(theta));
[x,y]=pol2cart(theta,rho);
x1=real(x);
y1=real(y);
x2=[x1,-x1];
y2=[y1,-y1];
z=zeros(size(x2));
figure
plot3(x2,y2,z)
hold on
for th=(29:29:340)
p1 = plot3(x2,y2,z,'b');
rotate(p1,[0 1 0],th)
end
rho = 2*sqrt(cos(theta));
[x,y]= pol2cart(theta, rho);
x1=real(x);
y1=real(y);
x2=[x1,-x1];
y2=[y1,-y1];
for the=(20:20:340)
p2 = plot3(x2,y2,z,'r');
rotate(p2,[0 1 0],th)
end
hold off
grid on
legend([p1,p2],'b','a')
A few changes were necessary to make it work correctly.
0 Comments
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots 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!