绘制显式和隐式函数

时间:2016-02-13 18:51:55

标签: matlab plot

我试图绘制这3个函数:

z=y-1;
(x^2)+(y^2)=2x;
(x^2)+(y^2)=4;

正如您所看到的,第一个是隐式函数,特别是一条线。另外两个是两个显式函数,特别是圆周。我需要在轴x,y,z的相同3D图中绘制它们来研究它们。我只需要3轴的范围从0到2.我尝试使用meshgridmesh,但它似乎只适用于第一个函数。

2 个答案:

答案 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]);