目录
背景
本博文主要分析 ndgrid, meshgrid是附送的,都是类似的东西,学会了一个,另一个很容易就理解了。
为什么会对 ndgrid 感兴趣呢?因为对它的不理解,导致我少写了几篇博文,最后,决定将 ndgrid 总结一番,去除这个绊脚石,或者加工一下,让它称为垫脚石。
我决定从低维到高维的思路来分析 ndgrid 到底怎么用?
ndgrid以及meshgrid其实就是将利用坐标轴上的坐标生成一些网格,一维的情况就不存在网格,所以坐标还是坐标;二维的情况,ndgrid的输入是两个矢量,可以看做是分别在x和y轴上的坐标,然后根据这些坐标生成网格点,所以输出肯定是2阶矩阵了。依次类推,可以得到高维的情况。
下面这句话,摘自网络看到的内容:对于网格矢量(gird vectors)x1gv,x2gv,x3gv,长度分别是M,N,P。ndgrid(x1gv, x2gv)函数输出一个MXN的数组,而meshgrid(x1gv, x2gv)输出一个N*M的数组,类似的,ndgrid(x1gv, x2gv, x3gv)函数输出一个M*N*P 的数组,而meshgrid(x1gv, x2gv, x3gv)输出一个N*M*P 的数组。
https://blog.csdn.net/u012183487/article/details/76149279
看不懂没关系,这里只是提前预热下而已,正式的内容下面一一呈现。
主题是N-D空间中的矩形网格。
一维空间中的矩形网格:
>> a = -3:3
a =
-3 -2 -1 0 1 2 3
>> x = ndgrid(a)
x =
-3
-2
-1
0
1
2
3
对一维空间,也即一个坐标轴来划分网格意义不大,主要是做一个对比作用。
二维空间中的矩形网格:
>> a = -3:3
a =
-3 -2 -1 0 1 2 3
>> b = -2:2
b =
-2 -1 0 1 2
>> [x,y]=ndgrid(a,b)
x =
-3 -3 -3 -3 -3
-2 -2 -2 -2 -2
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
y =
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
从工作空间可以看到,a是7维的向量,b是5维的向量,那么使用ndgrid生成的网格点,x是一个7*5的矩阵,其x的列是a的复制;y是一个7*5的矩阵&#