【matlab】meshgrid生成网格原理1
用matlab画2维图的时候,对meshgrid这个函数困惑了很久。
- 画1维图的时候,我们的定义域是x轴,是1维的。
画2维图的时候,我们的定义域是x轴和y轴,是2维的。
在1维的情况下给定一个定义域[-3, 3],在计算机中是离散形式的,我们假设数据间隔是1,那么我的定义哉数值就是这样的:
[-3 -2 -1 0 1 2 3]
- 在2维的情况下给定一个定义域:x[-3, 3] y[-2, 2],还是间隔1取值,那应该是这样的(y轴特意换了个方向,3维的时候指向我们的):
我们生成函数的时候是这样做的:
那么应该这样取值:
那我们怎样给出在定义域里面的所有的XY呢?用下面两个矩阵就可以解决问题:
XY2个矩阵大小相等,我们在XY2个矩阵中对应的位置取值就可以得到对应点的XY坐标,代入公式就可以得到函数值。
meshgrid要做的事情就是由给的参数(-3:1:3, -2:1:2),获得XY这2个矩阵。
[X,Y] = meshgrid(-3:1:3, -2:1:2);
运行代码后,就会得到上面的XY这2个矩阵。