我試圖計算下面的矩陣列明智的差異:從矩陣和位移值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