学习笔记418—删掉对称矩阵中的NaN,对角线为1【已解决!】

发布时间 2023-09-21 20:26:17作者: 何弈

问题:删掉对称矩阵中的NaN,对角线为1

如下图 矩阵A 所示:

解决办法:

B = A + diag(NaN + zeros(1,length(A)));  %将对角线改为 NaN
B(all(isnan(B),2),:) = []; %删除所有行为NaN
B(:,all(isnan(B),1)) = []; %删除所有列为NaN
B(find(isnan(B))) = 1; %再将对角线值改为 1

结果 新矩阵B 如图: