matlab 里怎样删除数组的某些行

matlab 里怎样删除数组的某些行,第1张

matlab 里删除数组的某些行的方法:

d = data

count = 1

for i=1:100

if mod(i,3) ~= 0

d(count,:) = data(i,:)

count = count + 1

end

end

d = d(1:66,:)

思路是,循环一百次,遇到可以除尽3的就不要,只要不是可以除尽的就放到另外一个函数里。一开始d=data是确定这两个是同样大小的。最后取新函数的前66行。

如果要确切知道,要删除的行的行号,可以用find函数

ind=find(C)

或者不保存C,直接ind=find(B<5)

这样要删除的行号就会保存在ind中

这个时候再用

a(ind,:)=[]

b(ind,:)=[]

删除a,b矩阵中对应的行!

两种方法:

1,将所有要删除的行标顺序排列成向量V,然后用命令

"矩阵变量名"(V,:)=[]%可删除与"矩阵变量名"对应的矩阵中的指定行(通过V指定),并改变原矩阵维数

2,将所有要保留的行标顺序排列成向量V,然后用命令

"矩阵变量名"="矩阵变量名"(V,:)%即将与"矩阵变量名"对应的矩阵中的指定行(通过V指定)重新赋给该变量

删除列类似.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9859266.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存