我正在寻找一种方法在MATLAB中有效地从矩阵中删除NaN数(即不使用for循环)
我将提供一个简单的例子来说明我想要实现的目标:
说我有一个矩阵M:
3.00 1.00
1.00 3.00
NaN NaN
3.00 3.00
1.00 1.00
NaN NaN
NaN NaN
NaN NaN
NaN NaN
NaN NaN
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法来改变它
3.00 1.00
1.00 3.00
3.00 3.00
1.00 1.00
Run Code Online (Sandbox Code Playgroud)
我目前正试图通过M(isfinite(M))来做这个,但最终返回一个向量而不是矩阵.有没有让它返回矩阵的技巧?
Jer*_*ock 26
如果每行都没有NaN或所有NaN,则可以使用以下方法执行删除:
M(isfinite(M(:, 1)), :)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
88200 次 |
最近记录: |