lzth.net
当前位置:首页 >> mAtlAB如何删除矩阵中符合条件的多行全部元素 >>

mAtlAB如何删除矩阵中符合条件的多行全部元素

举个例子,思路就是利用逻辑运算,找到符合条件的行,然后新的矩阵只取不满足条件的那几行: >> a a = 4 4 2 1 3 1 4 5 4 1 3 0 1 2 4 2 1 0 4 3 3 1 4 5 4 4 5 4 5 1 4 4 2 2 5 5 4 2 1 4 3 5 4 1 5 3 4 2 3 >> index = a( :, 4 ) == 0 | a( :,...

a=[1 2 3 4 5 4 3 2 1]; a(3)=[]; a=[1 2 3 4 5 4 3 2 1]; a(a==3)=[]; 我不知道你说的是哪种情况,第一个是把指定位置的元素删掉,第二个是把指定大小的元素删掉! Locate=find(a>122) %a是存储数据的数组名,find是找到大于122的数的位置 a(Locat...

两种方法: 1,将所有要删除的行标顺序排列成向量V,然后用命令 "矩阵变量名"(V,:)=[];%可删除与"矩阵变量名"对应的矩阵中的指定行(通过V指定),并改变原矩阵维数 2,将所有要保留的行标顺序排列成向量V,然后用命令 "矩阵变量名"="矩阵变量名...

可能我的方法比较笨一些,但可以实现你的目的,可以参考下: a = [ 9 8 8 1 2 6 7 3 1 5 9 9 9 9 3 4 5 6 5 7 7 6 7 7 7 ]; larger5 = a > 5; % 通过判断条件得到逻辑0 1矩阵 rulr = logical( [ 1 1 1 ] ); % 用来检测的标尺 [ Rows Cols ] = si...

有啊,很简单,一个unique函数就能搞定拉

clear; x=textread('bus50.txt'); index = find(x(:,19)==0); x(index,:)=[];

a=[1 2 3;0 0 0;2 1 6]; a(all(a==0,2),:)=[] ____________________ 如果是3维矩阵那就必须是某个面(整个2维矩阵)全部都是0,如果单一行是0,这个面的其他元素不为0,怎么能去掉呢,因为一删就是删一个面埃

两矩阵作差,检查全0行有多少个不就行了,还可以顺便记录全0的行号

删除第五个 就是 X(5)=[]; 不知道位置,删除某个值,X(find(X)==5) = [];

clcclearA=rand(100,100);A(15,:)=zeros(1,100);A(20,:)=zeros(1,100);A1=sum(abs(A'));index=find(A1==0);A(index,:)=[];其实非常简单,设A是这个矩阵,用sum求每一行的绝对值的和,如果为零说明这行全为零,找到那些行,从矩阵中去除即可代码...

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com