假设我有两个矩阵:
A= [0 0 0 0 1;
0 0 0 1 0;
1 0 1 0 1;
0 0 0 0 0;
0 0 1 1 1]
B = [20 15 25 30 40;
12 15 25 38 24;
50 23 37 21 19;
7 20 89 31 41;
12 13 45 21 31]
Run Code Online (Sandbox Code Playgroud)
如何在第一次出现A中的B nan行中的所有条目出现在A.在这种情况下,我希望输出为:
B = [20 15 25 30 Nan;
12 15 25 Nan Nan;
Nan Nan Nan Nan Nan;
7 20 89 31 41;
12 13 Nan Nan Nan]
Run Code Online (Sandbox Code Playgroud)
先感谢您
您可以使用cummax或cumsum逻辑索引将值设置为NaN:
B(logical(cumsum(A,2)))=NaN;
Run Code Online (Sandbox Code Playgroud)
要么
B(logical(cummax(A,2)))=NaN;
Run Code Online (Sandbox Code Playgroud)