matlab中删除矩阵中的某些行
生活随笔
收集整理的這篇文章主要介紹了
matlab中删除矩阵中的某些行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法1
遍歷所有行,找到滿足要求的行tag,然后調用A(a,:) = []。
A = neighborhood_s; a = []; for i = 1 : size(A,1)if abs(A(i,7)) > 1.0 || abs(A(i,8)) > 1.0a = [a; i];end endA(a, :) = [];耗時20分鐘!
方法2
使用邏輯判斷,找到行tag,然后調用A(id,:) = []。
注意是|,如果使用||會報錯“|| 和 && 運算符的操作數必須能夠轉換為邏輯標量值”。
id = abs(A(:,7)) > 1.0 | abs(A(:,8)) > 1.0; A(id,:) = [];耗時2秒!
方法3
使用find函數,找到行tag,然后調用A(id,:) = []。
id = find(abs(A(:,7)) > 1.0 | abs(A(:,8)) > 1.0); A(id,:) = [];耗時2秒!
總結
上述三種方法中:方法3耗時最短,為2秒;方法1耗時最長,為20分鐘;方法2和方法3的耗時在同一量級上。推薦使用方法2和方法3。
總結
以上是生活随笔為你收集整理的matlab中删除矩阵中的某些行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对resultMap中column的理解
- 下一篇: 17 内存规整(memory compa