求用matlab画出心型的函数!!

给个函数,二维三维都可以的!
2024-12-12 22:31:16
推荐回答(3个)
回答1:

1、二维心形图,源代码如下:

ezplot('(x^2-1+y^2)^3-x^2*y^3 = 0')  %隐函数作图

axis([-2.5 2.5 -2 2])   %范围

2.、三维心形图源代码如下:

clc
close all
[x,y,z]=meshgrid(linspace(-1.3,1.3));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;
isosurface(x,y,z,val,0)
axis equal
view(-10,24)
colormap flag
camlight
lighting phong 

扩展资料:

心形线的数学表达

极坐标方程:

水平方向: ρ=a(1-cosθ) 或 ρ=a(1+cosθ) (a>0)

垂直方向: ρ=a(1-sinθ) 或 ρ=a(1+sinθ) (a>0)

直角坐标方程:

心形线的平面直角坐标系方程表达式分别为 x^2+y^2+a*x=a*sqrt(x^2+y^2) 和 x^2+y^2-a*x=a*sqrt(x^2+y^2)

参数方程:

-pi<=t<=pi 或 0<=t<=2*pi

x=a*(2*cos(t)-cos(2*t))

y=a*(2*sin(t)-sin(2*t))

参考文献:百度百科-心形线

回答2:

三维的(x^2 + (9/4)*y^2 + z^2 - 1)^3 - x^2*z^3 - (9/80)*y^2*z^3 = 0 

二维的(x^2-1+y^2)^3-x^2*y^3 = 0

实际上就是三维的那个令y=0

回答3:

源代码:
[x,y,z]=meshgrid(linspace(-1.3,1.3));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;
isosurface(x,y,z,val,0);
axis equal;view(-10,24);colormap([1 0.2 0.2])