24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1499  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

abingchem

木虫 (著名写手)


[交流] 【求助】如何提取矩阵前两行>5的数据?

假如有矩阵:A=magic(10);
现在要提取A前两行中大于5的元素,除了循环遍历还有更好的办法吗?
目前想到的是可以用逻辑数组得到前两行的逻辑数组,但后面怎么处理呢?

前提是不能将前两行元素提出来赋值给另一变量
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abingchem(金币+1):谢谢参与
引用回帖:
Originally posted by abingchem at 2011-01-05 15:34:13:


为什么A(r,c)这样的引用不能通过?

MATLAB中的数组、矩阵是以列为主序的。
用find返回的行列是一个列的数组,不能使用A( r, c )直接全部引用。
但是引用A前两行中满足条件的单个元素。
5楼2011-01-05 16:29:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

lds588

铁杆木虫 (著名写手)


★ ★ ★
abingchem(金币+1):谢谢参与
robert2020(金币+2):多谢应助!欢迎常来仿真模拟版交流! 2011-01-11 10:56:56
引用回帖:
Originally posted by abingchem at 2011-01-05 13:41:11:
假如有矩阵:A=magic(10);
现在要提取A前两行中大于5的元素,除了循环遍历还有更好的办法吗?
目前想到的是可以用逻辑数组得到前两行的逻辑数组,但后面怎么处理呢?

前提是不能将前两行元素提出来赋值给另一 ...

[r,c,v]= find(A(1:2,: ) > 5);
r,c为大于5的元素的行列标
2楼2011-01-05 13:56:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abingchem

木虫 (著名写手)


引用回帖:
Originally posted by lds588 at 2011-01-05 13:56:59:


[r,c,v]= find(A(1:2,: ) > 5);
r,c为大于5的元素的行列标

知道了r,c之后,怎么用这两个数组引用A的元素呢?谢谢
3楼2011-01-05 14:28:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abingchem

木虫 (著名写手)


引用回帖:
Originally posted by abingchem at 2011-01-05 14:28:42:


知道了r,c之后,怎么用这两个数组引用A的元素呢?谢谢

为什么A(r,c)这样的引用不能通过?
4楼2011-01-05 15:34:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见