版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(482)
>
虫友互识
(38)
>
硕博家园
(21)
>
导师招生
(15)
>
文献求助
(9)
>
教师之家
(3)
>
论文投稿
(3)
>
考博
(2)
>
公派出国
(2)
>
考研
(2)
>
材料工程
(1)
>
论文道贺祈福
(1)
>
基金申请
(1)
>
找工作
(1)
>
休闲灌水
(1)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
仿真模拟
»
MATLAB
»
【求助】如何提取矩阵前两行>5的数据?
12
1/1
返回列表
查看: 1496 | 回复: 11
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
abingchem
木虫
(著名写手)
应助: 2
(幼儿园)
金币: 4871
帖子: 1672
在线: 117.6小时
虫号: 206219
[交流]
【求助】如何提取矩阵前两行>5的数据?
假如有矩阵:A=magic(10);
现在要提取A前两行中大于5的元素,除了循环遍历还有更好的办法吗?
目前想到的是可以用逻辑数组得到前两行的逻辑数组,但后面怎么处理呢?
前提是不能将前两行元素提出来赋值给另一变量
回复此楼
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
11月需回复帖汇总 欢迎广大热心虫子来应助交流 大量金币等你拿
已经有3人回复
【求助】mathematica数据绘图,谢谢
已经有8人回复
【求助】s变换提取信号包络的问题
已经有3人回复
【求助/交流】有没有会用PHYLIP做进化树的交流一下?
已经有10人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
桂林理工大学材料科学与工程学院诚聘青年教师
+
1
/119
中国地质大学(武汉)—国家级青年人才杨明教授组-招收博士-新能源材料化学及催化材料
+
1
/74
双一流大学-湘潭大学“电化学能源储存与转换”湖南省重点实验室招生电池方向博士生
+
1
/70
双一流大学湘潭大学“化工过程模拟与强化”国家地方联合工程研究中心招收各类博士生
+
1
/57
郑州大学农业与生物制造学院博士后招聘
+
1
/34
数学与应用数学、非线性动力学、计算流体力学、控制工程、岩石力学相关专业博士招生
+
1
/28
澳门科技大学2026年数学博士招生—计算物理与数学课题组:计算流体与相场方法
+
1
/22
浙江工业大学国家优青朱艺涵团队在固态电池解构与设计方向招收2026年博士生2名
+
1
/22
哈尔滨工业大学招收博士研究生(欢迎环境、生物、市政、农业、化学等专业)长期有效
+
1
/19
能够检测核磁、LCMS的机构或个人请跟我联系
+
1
/15
博士后招聘-复旦大学生科院-王炜课题组-化学微生物组学
+
1
/14
澳门大学 应用物理及材料工程研究院 孙国星课题组招收博士(2026/2027学年)
+
1
/13
2026年博士申请-全固态锂金属电池方向-聚合物电解质+硫化物电解质
+
1
/12
国家“双一流”建设高校-南京林业大学-国家级青年人才团队招聘
+
1
/8
哈尔滨工业大学(深圳)赵怡潞课题组诚招博士后
+
1
/6
南京航空航天大学航天学院黄护林教授课题组博士研究生招生(工程热物理专业)
+
1
/6
国家纳米科学中心鄢勇课题组26年博士招生
+
1
/5
东江实验室招聘~本科及以上可报~急聘!
+
1
/5
招收26年秋季入学博士生(北科大高精尖学院 力学超材料/机器学习/增材制造相关方向)
+
1
/4
上海大学长江学者钟云波教授团队招收外场冶金或材料加工方向2026年博士研究生
+
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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定