我是靠谱客的博主 舒服机器猫,最近开发中收集的这篇文章主要介绍使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1、函数
这里使用2D Michalewicz 函数,其表达式为:
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、图形
最后
以上就是舒服机器猫为你收集整理的使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour的全部内容,希望文章能够帮你解决使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复