版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(2516)
>
虫友互识
(215)
>
导师招生
(109)
>
文献求助
(82)
>
基金申请
(71)
>
仿真模拟
(64)
>
考博
(58)
>
休闲灌水
(41)
>
招聘信息布告栏
(19)
>
有机交流
(16)
>
教师之家
(15)
>
硕博家园
(12)
>
论文投稿
(11)
>
绿色求助(高悬赏)
(8)
>
SciFinder/Reaxys
(7)
>
论文道贺祈福
(7)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】如何提取矩阵前两行>5的数据?
12
1/1
返回列表
查看: 1840 | 回复: 11
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
[交流]
【求助】如何提取矩阵前两行>5的数据?
假如有矩阵:A=magic(10);
现在要提取A前两行中大于5的元素,除了循环遍历还有更好的办法吗?
目前想到的是可以用逻辑数组得到前两行的逻辑数组,但后面怎么处理呢?
前提是不能将前两行元素提出来赋值给另一变量
回复此楼
» 猜你喜欢
航天502所 高瑛珂博士 婚内征婚 欺骗女性开房
已经有11人回复
地球科学部D01口青年基金,最低几A几B几C才能有几率中呀。
已经有3人回复
投稿文章被秒拒了
已经有4人回复
招收2026级博士生
已经有6人回复
宿州学院学报
已经有5人回复
博士申请
已经有5人回复
西安交大新媒学院副院长用撤稿论文结题
已经有7人回复
论文撤稿了
已经有9人回复
化学专业申博
已经有5人回复
医学类期刊求推荐
已经有6人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
11月需回复帖汇总 欢迎广大热心虫子来应助交流 大量金币等你拿
已经有3人回复
【求助】mathematica数据绘图,谢谢
已经有8人回复
【求助】s变换提取信号包络的问题
已经有3人回复
【求助/交流】有没有会用PHYLIP做进化树的交流一下?
已经有10人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
广西锰资源高值化利用重点实验室 2026年博士人才招聘通告
+
1
/949
丹麦技术大学招聘食品微生物学博士一名-全奖高薪,三年毕业,月薪约2.4w 人民币
+
1
/584
【26年9月入学】中国石油大学(北京) 化学工程专业招2026级学术博士1名
+
1
/280
中科院深圳先进技术研究院集成电路先进封装博士后招聘
+
1
/275
Polymers期刊特刊Polymeric Materials for Advanced Drug Delivery组稿
+
1
/84
中科院深圳先进技术研究院集成电路先进封装博士后招聘
+
1
/80
广东工业大学自动化学院国家特聘专家苏春翌教授招收2026年博士后及硕博研究生(推免)
+
1
/80
新西兰奥克兰大学计算机CS招PhD及访问学者
+
1
/79
电力全国重点实验室双一流A类长江学者团队补招26年全日制学术博士1名(6月2日截止)
+
2
/78
【通知】北京信息科技大学仪器科学与光电工程学院招收博士研究生(2026),还有名额!
+
1
/33
郑州大学·安徽高等研究院 2026年博士招生(申请考核制)
+
1
/13
【截止2026年5月31日】石家庄铁道大学智能交通课题组诚招理工科背景博士
+
1
/9
【博士招生】武汉科技大学招收材料、化工、环境、冶金类2026年“申请-考核”制博士生
+
1
/8
上海理工大学,招收有机化学或者药物化学博士
+
1
/8
深圳大学材料学院“智能分子材料团队”招聘博士后(连续流微反应器方向优先)
+
1
/5
电子科技大学材料学院SFT创新中心招收准备考硕和读博的科研助理 理工医交叉方向
+
1
/4
【通知】北京信息科技大学仪器科学与光电工程学院招聘优秀师资!
+
1
/4
【有偿访谈招募】高才通来港后,你过得还好吗?
+
1
/2
储能与电子材料课题组 招收硕士 or 博士研究生——以色列理工-GTIIT联培
+
1
/2
EliSpot 技术:疫苗研发不可或缺的核心工具
+
1
/2
1楼
2011-01-05 13:41:11
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lds588
铁杆木虫
(著名写手)
应助: 15
(小学生)
金币: 10949.6
帖子: 1444
在线: 206.3小时
虫号: 890720
★ ★ ★
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人)
回复此楼
2楼
2011-01-05 13:56:59
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
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
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
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的回帖
xiegangmai
版主
(职业作家)
仿真EPI: 3
应助: 157
(高中生)
贵宾: 5.735
金币: 40609
帖子: 4046
在线: 1330.2小时
虫号: 653607
★
abingchem(金币
+1
):谢谢参与
引用回帖:
Originally posted by
abingchem
at 2011-01-05 15:34:13:
为什么A(r,c)这样的引用不能通过?
MATLAB中的数组、矩阵是以列为主序的。
用find返回的行列是一个列的数组,不能使用A( r, c )直接全部引用。
但是引用A前两行中满足条件的单个元素。
赞
一下
(1人)
回复此楼
5楼
2011-01-05 16:29:18
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
Originally posted by
xiegangmai
at 2011-01-05 16:29:18:
MATLAB中的数组、矩阵是以列为主序的。
用find返回的行列是一个列的数组,不能使用A( r, c )直接全部引用。
但是引用A前两行中满足条件的单个元素。
那怎么办才可以呢?看了其他论坛,除了循环遍历,似乎也没有好办法。
赞
一下
回复此楼
6楼
2011-01-05 16:43:46
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
xiegangmai
版主
(职业作家)
仿真EPI: 3
应助: 157
(高中生)
贵宾: 5.735
金币: 40609
帖子: 4046
在线: 1330.2小时
虫号: 653607
★ ★ ★ ★
abingchem(金币
+1
):谢谢参与
robert2020(金币+3):辛苦了! 2011-01-11 10:57:22
引用回帖:
Originally posted by
abingchem
at 2011-01-05 16:43:46:
那怎么办才可以呢?看了其他论坛,除了循环遍历,似乎也没有好办法。
关键是看你用做什么,需要以什么样的方式返回?
首先能确定的是不能得到矩阵,因为行列中元素个数不确定。
如果要一个一个引用,就用循环。
CODE:
A = magic( 10 );
[ r, c ]= find( A( 1 : 2, : ) > 5 );
n = length( r );
for i = 1 : n
B( i ) = A( r( i ), c( i ) );
end
如果直接返回一维数组,可以这样试试:
CODE:
A = magic( 10 );
[ m, n ] = size( A );
B = reshape( A( 1 : 2, : ), 1, 2 * n );
l = find( A( 1 : 2, : ) > 5 );
C = B( l );
[
Last edited by xiegangmai on 2011-1-5 at 21:14
]
赞
一下
(2人)
回复此楼
7楼
2011-01-05 18:00:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lds588
铁杆木虫
(著名写手)
应助: 15
(小学生)
金币: 10949.6
帖子: 1444
在线: 206.3小时
虫号: 890720
★
小木虫(金币
+0.5
):给个红包,谢谢回帖交流
引用回帖:
Originally posted by
abingchem
at 2011-01-05 16:43:46:
那怎么办才可以呢?看了其他论坛,除了循环遍历,似乎也没有好办法。
楼上说的很明白了,我相信你看懂了~~~
赞
一下
(1人)
回复此楼
8楼
2011-01-05 22:41:16
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
Originally posted by
xiegangmai
at 2011-01-05 18:00:20:
关键是看你用做什么,需要以什么样的方式返回?
首先能确定的是不能得到矩阵,因为行列中元素个数不确定。
如果要一个一个引用,就用循环。
[code]
A = magic( 10 );
[ r, c ]= find( A( 1 : 2, : ) ...
看来结论是无论怎样得到的逻辑数组也好、或者位置索引也好,并不能对原矩阵直接引用~
多谢!
赞
一下
回复此楼
9楼
2011-01-06 08:33:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
Originally posted by
lds588
at 2011-01-05 22:41:16:
楼上说的很明白了,我相信你看懂了~~~
恩,相当明白!
回复此楼
10楼
2011-01-06 08:36:14
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
引用回帖:
Originally posted by
xiegangmai
at 2011-01-05 18:00:20:
关键是看你用做什么,需要以什么样的方式返回?
首先能确定的是不能得到矩阵,因为行列中元素个数不确定。
如果要一个一个引用,就用循环。
[code]
A = magic( 10 );
[ r, c ]= find( A( 1 : 2, : ) ...
不如这样写了:
A=magic(10);
B=A(1:2,
;
C=B(B>5);
赞
一下
回复此楼
11楼
2011-01-06 08:38:41
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
uiui
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 7.1
帖子: 252
在线: 59.1小时
虫号: 380027
★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖交流
xiegangmai(金币+2):辛苦了! 2011-01-07 21:58:54
lz提出的问题很有意思,我以前也碰到过,当然最直接的方法就是把子数组提出来。
如果硬要引用原数组,也有变通的办法:
1. 用ls提出的下标法,不过要把二维下标转为一维下标:
A=magic(10);
[r,c]=find(A(1:2,: )>5);
B=A(sub2ind(size(A),r,c))
这里注意,不能用 ind=find(A(1:2,: )>5); 直接得到一维下标,因为该一维下标是基于子数组的
2. 还可以用另一种方法,将得到的子数组的逻辑值补零,变为原数组的逻辑值再引用
A=magic(10);
C=A([A(1:2,: )>5;logical(zeros(8,10))])
[
Last edited by uiui on 2011-1-6 at 11:35
]
赞
一下
(2人)
回复此楼
12楼
2011-01-06 10:43:22
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
abingchem
的主题更新
12
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定