如何绘制f(x(1),x(2))=21.5+x(1)*sin(4*pi*x(1))+x(2)*sin(20*pi*x(2); 这个函数图,用matlab
问题描述:
如何绘制f(x(1),x(2))=21.5+x(1)*sin(4*pi*x(1))+x(2)*sin(20*pi*x(2); 这个函数图,用matlab
s.t
-3-x(1)
答
[x1,x2]=meshgrid(-3:0.05:12.1,4.1:0.05:5.8);
f=21.5+x1.*sin(4*pi*x1)+x2.*sin(20*pi*x2);
mesh(x1,x2,f),grid on;xlabel('x1'),ylabel('x2'),zlabel('f(x1,x2)');
meshgird后面的参数没啥特殊要求,间隔主要是为了成图的效果和不违反数学的定义就可。
数组的乘、除、乘方要用点运算,以此与矩阵运算区别。
plot是二维数据绘图,mesh和surf是三维数据绘图,区别主要是网格线颜色和其之间是否填色的不同。
grid on 是生成坐标网格,易于你读取坐标数据。
你还是参考help文档吧,这些实在太基础没啥好说的,你通过简单的试验一看就懂!