加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2014-09-04 02:26:40)
标签:

matlab

分类: IT背景

http://zhidao.baidu.com/question/582732367957243445.html

假如有一个100*7的矩阵,如果某一行第4列或者第5列的元素值为0时,则将这一整行全部删除,最后形成一个新的m*7的矩阵,m小于等于100。该怎么写呢?


举个例子,思路就是利用逻辑运算,找到符合条件的行,然后新的矩阵只取不满足条件的那几行:
>> 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( :, 5 ) == 0
index =
0
1
1
0
0
0
0
>> b = a( ~index, : )%求逆,就表示第四第五列都不为0的那几行
b =
4 4 2 1 3 1 4
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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有