我有一系列具有正值的列,然后是NaN,例如:
12 16 10
11 13 9
8 10 7
7 6 5
4 1 4
2 NaN 2
NaN NaN 1
NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
如果是这个矩阵A,那么可以使用以下方法找到每列中第一个NaN的(行)位置:sum(~isnan(A))
我现在想用零替换每个位置中的NaN,例如:
12 16 10
11 13 9
8 10 7
7 6 5
4 1 4
2 0 2
0 NaN 1
NaN NaN 0
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试使用逻辑,索引和循环方法的组合失败了,创建了一个新的矩阵,其中所有NaN都为零,每个找到的行中的所有值都为零,或者只将第一列或最后一列中的NaN作为零.
实现这一目标的最佳方法是什么?谢谢.
我有值的列减少到〜1,之后所有剩余的值都是NaN.例如:
10 10
8 9
6 8
5 7
3 5
1 2
NaN 1
NaN NaN
Run Code Online (Sandbox Code Playgroud)
我需要的是紧接在NaN序列之前的每列的行号,或序列中的最后一个正整数.上例中的第6行和第7行.
虽然循环可能用于查找每列的所需行,但我无法确定找到此行的正确命令.我尝试使用find 'last'没有成功.请告知实现此目的的最佳方法.谢谢.