我试图绘制这3个函数:
z=y-1;
(x^2)+(y^2)=2x;
(x^2)+(y^2)=4;
正如您所看到的,第一个是隐式函数,特别是一条线。另外两个是两个显式函数,特别是圆周。我需要在轴x,y,z的相同3D图中绘制它们来研究它们。我只需要3轴的范围从0到2.我尝试使用meshgrid
和mesh
,但它似乎只适用于第一个函数。
答案 0 :(得分:1)
如果可用,请使用符号工具箱中的ezplot
:
syms x y
ezplot((x^2)+(y^2)==2*x)
否则在标准MATLAB安装中使用相同的命名函数
ezplot('(x^2)+(y^2)=2*x')
答案 1 :(得分:1)
如果你不介意重新定义你的功能,你可以通过一些数学运算这样做:
%function 1
y1=linspace(0,2,1000);
z1=y1-1;
x1=zeros(1,length(y1));
%function 2
theta2=linspace(-pi/2,pi/2,1000);
x2=2*(cos(theta2)).^2;
y2=sqrt(2*x2).*sin(theta2);
z2=zeros(1,length(x2));
%function 3
theta3=linspace(0,2*pi,1000);
x3=2*(cos(theta3));
y3=2*sin(theta3);
z3=zeros(1,length(x2));
%plot
plot3([x1' x2' x3'],[y1' y2' y3'],[z1' z2' z3']);
axis equal;
xlim([0 2]);
ylim([0 2]);
zlim([0 2]);