matlab mesh两个图,使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour...

1、函数

这里使用2D Michalewicz 函数,其表达式为:

f0656d0f995e6025631fd61435fe01f6.png

2、画图

2.1 编写2D Michalewicz 函数

f=@(x,y)(-sin(x).*(sin(x.^2/3.1415926)).^(2*m)...

-sin(y).*(sin(2*y.^2/3.1415926)).^(2*m));

上述代码使用到了Anonymous Functions, 相关变量的数据类型为function_handle.

仔细一看,代码比数学表达式多了几个点,这里点的作用是把矩阵里的每一个数字进行处理,而不是对矩阵相乘。

因为画图时,代入函数自变量x,y 中的数据格式为矩阵,下文将会详细介绍这一点。

2.1 生成网格矩阵

range=[0 4 0 4];

Ngrid=100;

dx=(range(2)-range(1))/Ngrid;

dy=(range(4)-range(3))/Ngrid;

xgrid=range(1):dx:range(2);

ygrid=range(3):dy:range(4);

[x,y]=meshgrid(xgrid,ygrid);

meshgrid函数生成网格矩阵,x,y 均为矩阵

2.3 画图

z=f(x,y);

figure(1);

surfc(x,y,z);

把矩阵x,y代入f函数中,画出图形。

2.4 画等高线

contour(x,y,z,20);

3、图形

dc5491c8add4d10a4b280f270156bbc5.png

eb171e3a105726f5f9413453374296f4.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值