版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3386)
>
虫友互识
(139)
>
基金申请
(82)
>
文献求助
(82)
>
导师招生
(69)
>
休闲灌水
(68)
>
硕博家园
(30)
>
考博
(30)
>
找工作
(28)
>
论文投稿
(28)
>
考研
(26)
>
公派出国
(23)
>
招聘信息布告栏
(22)
>
论文道贺祈福
(19)
>
教师之家
(19)
>
博后之家
(17)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】如何提取矩阵前两行>5的数据?
12
1/1
返回列表
查看: 1938 | 回复: 11
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
[交流]
【求助】如何提取矩阵前两行>5的数据?
假如有矩阵:A=magic(10);
现在要提取A前两行中大于5的元素,除了循环遍历还有更好的办法吗?
目前想到的是可以用逻辑数组得到前两行的逻辑数组,但后面怎么处理呢?
前提是不能将前两行元素提出来赋值给另一变量
回复此楼
» 猜你喜欢
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有4人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
小木虫看见有人已经知道结果了
已经有19人回复
2026年国自然面上资助率
已经有8人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
微信指数没变化,科研之友没阅读
已经有17人回复
申请2027年材料/化学类博士
已经有5人回复
你们的时间戳变了吗
已经有4人回复
今年的WR进展到哪一步了?
已经有9人回复
产物和副产物价值比较
已经有5人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
11月需回复帖汇总 欢迎广大热心虫子来应助交流 大量金币等你拿
已经有3人回复
【求助】mathematica数据绘图,谢谢
已经有8人回复
【求助】s变换提取信号包络的问题
已经有3人回复
【求助/交流】有没有会用PHYLIP做进化树的交流一下?
已经有10人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
求助2013年-2011年,武汉哪所学校的实验室合成过单价3万/克(或毫升)的剧毒成品?
+
5
/3250
坐标广州,征女友
+
2
/172
实验室用简易工装、夹具、模具、测试板
+
1
/82
山东第一医科大学医工交叉团队2025年招收纳米医学、药物化学等领域副教授、博士后
+
1
/74
Postdoctoral fellow in Medicinal Chemistry, McGill University
+
1
/71
中国特种设备检测研究院招聘1名高温涂层方向博士后
+
2
/34
深圳大学 招收2027级推免研究生 (金属材料/ 3D打印/ 氢能等方向)
+
1
/24
直博夏令营--北京理工大学/国家人工智能学院AI交叉学科联合招生
+
1
/21
一株吊兰
+
1
/12
招生宣讲会倒计时!7月29日20:00,不见不散!
+
1
/10
西安交通大学补亚忠课题组招收申请考核制博士生
+
2
/6
给合作老师打个广告,找个做 NMR/PHIP 超极化的 CSC 博士生
+
1
/5
(Scopus期刊)Biofunctional Materials《生物功能性材料》招募青年编委及征稿
+
1
/4
准现货/原装全新超微整机8x NVIDIA HGX A100 80G
+
1
/4
分不清 EI 会议 CA 和 JA?90% 投稿人踩过的检索大坑
+
1
/4
中山大学孙逸仙纪念医院潘越教授团队招聘博士后(40万年薪)和科研助理
+
1
/3
波兰科学院合作老师,招个做 NMR/PHIP 超极化的 CSC 博士生
+
1
/3
国际 EI 会议征稿进行时
+
1
/2
有没有管理类博士招生
+
1
/2
肠道再生的"隐形推手"
+
1
/1
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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定