meshgrid和ndgrid之间的实际差异?

时间:2013-10-24 10:23:10

标签: matlab

此讨论使ndgrid与pageIdx密切相关here。我现在可以理解meshgrid但不能ndgrid - 请详细说明可以使用的实例。它与meshgrid并不完全相同:值中有一些奇怪的反转,所以在哪里使用?

1 个答案:

答案 0 :(得分:5)

假设您想知道数组的行/列/ etc索引。您可以使用meshgrid,但它将首先输出列,然后输出行索引,这可能是错误的来源。

而不是meshgrid,您可以使用ndgrid,它将按预期顺序给出索引,即

[rowIndices, colIndices] = ndgrid(1:size(array,1),1:size(array,2));

或者,对于3D

[rowIndices, colIndices, pageIndices] = ndgrid(1:size(array,1),1:size(array,2),1:size(array,3));

meshgrid对前两个索引的反转在处理绘图时或图像处理工具箱函数的某些输出时会有所帮助。

但是,当您想要计算4D高斯的值时,您唯一的选择是使用ndgrid

[xx,yy,zz,tt] = ndgrid(-3:0.1:3);
out = exp(-xx.^2-yy.^2-zz.^2-tt.^2);