如何用Matlab将下列公式画出立体图? y = exp(-x(1)^2-x(2)^2)*(1+5*x(1) + 6*x(2) + 12*x(1)*cos(x(2)))

x(1)和x(2)没有任何限制

用Matlab绘制下列函数的立体图

y(x₁,x₂)=exp(-x₁²-x₂²)*(1+5*x₁ + 6*x₂ + 12*x₁*cos(x₂))

绘制步骤:

x1=0:50;x2=0:50;

[x,y]=meshgrid(x1,x2);

z=exp(-x.^2-y.^2).*(1+5*x + 6*y + 12*x.*cos(y));

mesh(x,y,z)

view(-45,15)

xlabel('x');ylabel('y');zlabel('z');

x=x(1)和y=x(2)可以根据你的取值范围调整,如

x1=-50:50;x2=-50:50;

其图形为

追问

能请你解释各个步骤吗? 谢谢。

追答

x1=0:50;x2=0:50; %x1、x2取值范围【0,50】,以步长为1,划分【0,50】
[x,y]=meshgrid(x1,x2); %生成x-y平面上的网格数据
z=exp(-x.^2-y.^2).*(1+5*x + 6*y + 12*x.*cos(y)); %计算x-y平面上的各网格点的z轴高度
mesh(x,y,z) %绘制网面图,即曲面图
view(-45,15) %在方位-45°和视角15°处看的曲面图
xlabel('x');ylabel('y');zlabel('z'); %x、y、z坐标名称

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-13
X(1)和X(2)分别是什么呢
相似回答