可能重复:
MATLAB:如何从矩阵中有效地删除NaN元素
我有下面的代码,但它有点慢(矩阵很大)有更好的方法吗?
errorMat=isnan(rates);
errorRows=ind(errorMat);
for i=1:length(errorRows)
rates(:,errorRows(i)) = [];
end
Run Code Online (Sandbox Code Playgroud)
rates(any(isnan(rates), 2), :) = [];
Run Code Online (Sandbox Code Playgroud)
或者:
rates = rates(~any(isnan(rates), 2), :);
Run Code Online (Sandbox Code Playgroud)
我认为第二种方法更快.