永发信息网

matlab二维数组删除有零的行

答案:2  悬赏:0  手机版
解决时间 2021-03-01 00:46
先比如有数组a=[1 2;2 4;3 6;4 0;5 1;6 0;7 1;8 0]
我想删除第2列有0的行,结果应该是[1 2;2 4;3 6;5 1;7 1]
我写的程序是
clc,clf,clear all
a=[1 2;2 4;3 6;4 0;5 1;6 0;7 1;8 0]
[r,c]=size(a);
for i=1:1:r;
if a(i,2)==0
a(i,:)=[];
end
end
a
但运行出错,求指教!
最佳答案
主要原因是循环中a(i,:)=[]; 会动态改变原来的矩阵a, 删掉一行, a的行数就变了
而循环指标i 还以为是原来固定的行数, 导致最后的指标越界报错
不妨这样

clc,clf,clear all
a=[1 2;2 4;3 6;4 0;5 1;6 0;7 1;8 0]
[r,c]=size(a);
index=1:r; %一维矢量, a的行指标
all(a') %将a转置一下, 返回一个矢量,它的每个元素进行判断, a所在行的元素全不为0则是1, 否则为0
a=a(index(all(a')),:) %取出a不含0元素的行,构成新的矩阵

应该能圆满完成任务
全部回答
for i=1:30 if (xxx(i,1)==0)&(xxx(i,2)==0)&(xxx(i,3)==0)&(xxx(i,4)==0)&(xxx(i,5)==0)&(xxx(i,6)==0) m(i)=i; end end m(m==0)=[];%%把m中的零元素去掉 xxx(m,:)=[]%%m对应的是行,所以直接去掉行即可
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
解释变量,必须通俗易懂,要有事列说明。
食锦王小吃我想知道这个在什么地方
买股票是重仓买一只好还是分散买好
金庸的那部小说最为经典?????
丰源粮贸在什么地方啊,我要过去处理事情
锅SIr时尚火锅外卖柯桥店地址有知道的么?有
五道判断题《史记》是我国第一部自传题的通史
QQ突然被手机登录,我能知道是哪个地区的手机
桂花鱼是淡水吗
在几进制中4*41=314?为什么
根号1是不是等于正负1
乐清市城东第二小学地址在哪,我要去那里办事
有哪些杭州地区互联网行业 QQ 群值得推荐?
一2.5cm高,直径33cm的圆柱体 重量怎么算 (钢
几个声音片段合并后 每个部分音量大小都不一
推荐资讯
喜万佳从化茂鑫店在什么地方啊,我要过去处理
第一次卫生革命的对象是A.非传染性疾病B.社会
属狗的几月份好
迪梵尼理发店我想知道这个在什么地方
阳光自选超市地址有知道的么?有点事想过去
描字帖能练好字吗?
05年有人借我38000元,我有借据,10年修改过
我的翡翠原石放到水里!两天皮子多处地方就泛
假如你是老板,员工开公司的车出去送货,车子
X加六分之五x等于十四求x
桦南县环境监察大队地址有知道的么?有点事想
同济大学收文科生吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?