我试图计算下面的矩阵列明智的差异:从矩阵和位移值MATLAB删除NaN值留下
A =
0 NaN NaN 0.3750 NaN
NaN 0.1250 0.2500 0.3750 NaN
我想获得:
0.3750 NaN NaN
0.1250 0.1250 0.1250
我在哪里基本上取得了列差,跳过NaN值并将值移到左边。
一维的情况将是:
A = [0 NaN 0.250 0.375 NaN 0.625];
NaN_diff(A) = [0.250 0.125 0.250];
任何方式在MATLAB有效地做到这一点,而无需使用效率低下的发现()每行查询?
这是不明确的,如果你是“跳跃的NaN”,那么为何仍有NaN的在您的示例输出? –
对不起,我添加了这些NaN以确保矩阵是矩形 - 具有更多数字的行将具有更长的差异。他们可以任意地为零。 – ejang