24小时热门版块排行榜    

Znn3bq.jpeg
查看: 4416  |  回复: 4

fluenter

银虫 (正式写手)

[求助] 查找矩阵中符合条件的元素,并赋值给另外一个矩阵。

[a,b]=meshgrid(1:10,-5:10)
c=a+b
d=a+b+c
查找d>10的元素,
并将相应的a,b,c复制给e,f,g。

百度上有个答案,但是我验证一下,还是不对。
http://zhidao.baidu.com/question/337920323.html
必须用线性索引,行列下标索引的话有问题。举一个你容易理解的例子x(1:3,1:3)取的是x第1到3行,第1到3列的3*3矩阵,而不是x(1,1),x(2,2),x(3,3)这三个值。因此你上面X(m,n)是一个范围内的矩阵,而不是你要的大于3小于12的X值。这时候需要用sub2din把[m,n]转成线性索引:

X=[3,2,6;3,7,2;8,9,13]
ind = find(X>3&X<12)
[m,n] = ind2sub(size(X),ind)
X(m,n)

n =

     1
     2
     2
     3


ans =

     8     9     9    13
     3     7     7     2
     8     9     9    13
     3     2     2     6

[ Last edited by fluenter on 2012-5-11 at 15:42 ]
回复此楼
每天坚持一件事情
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
fluenter: 金币+5, ★★★★★最佳答案, 谢谢 2012-05-14 09:33:54
fluenter: 回帖置顶 2012-05-29 16:42:43
不是很理解你最终要得到什么, (1)e, f, g是与a, b, c相同维度的矩阵呢,(2)还是仅符合d>10条件元素组成的矩阵?

(1)给e,f,g初始化为0
CODE:
clear
[a,b] = meshgrid(1:10,-5:10);
c=a+b ;
d=a+b+c;
[ m, n ] = find( d> 10 );
e = zeros( size( a ) );
f = zeros( size( a ) );
g = zeros( size( a ) );
for i = 1 : length( m )
    e( m(i), n(i) ) = a( m(i), n(i) );
    f( m(i), n(i) ) = b( m(i), n(i) );
    g( m(i), n(i) ) = c( m(i), n(i) );
end

(2)e,f,g只能为一维数组(一行或一列)
CODE:
clear
[a,b] = meshgrid(1:10,-5:10);
c=a+b ;
d=a+b+c;
[ m, n ] = size( a );
ind = find( d > 10 );
a = reshape(a, m * n, 1 );
b = reshape(b, m * n, 1 );
c = reshape(c, m * n, 1 );
e = a( ind );
f = b( ind );
g = c( ind );

明德厚学、求是创新
4楼2012-05-14 00:03:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

fluenter

银虫 (正式写手)

求助啊!
每天坚持一件事情
2楼2012-05-13 19:35:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

举例说明一下
3楼2012-05-13 22:00:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fluenter

银虫 (正式写手)

caemechanics: 金币+5, 感谢应助 2012-05-14 10:45:15
xiegangmai: 金币-5, 呵呵,caemechanics版主乌龙了。 2012-05-14 21:49:20
引用回帖:
4楼: Originally posted by xiegangmai at 2012-05-14 00:03:10:
不是很理解你最终要得到什么, (1)e, f, g是与a, b, c相同维度的矩阵呢,(2)还是仅符合d>10条件元素组成的矩阵?

(1)给e,f,g初始化为0
clear
= meshgrid(1:10,-5:10);
c=a+b ;
d=a+b+c;
= fin ...

谢谢啦!
我本想寻找符合d>10条件元素组成的矩阵。并将符合条件的d(a,b,c)>10的a,b,c赋值给另外三个矩阵,绘制三维坐标图。
我本来是想找您给出的第二种方法。
但是 第一种方法可以采用mesh绘制a,b,c的坐标图。
第二种方法不能用绘制abc的三维坐标图。
我就采用第一种方法吧。
每天坚持一件事情
5楼2012-05-14 09:33:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fluenter 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +5 archer.. 2026-04-09 7/350 2026-04-09 22:18 by lbsjt
[考研] 调剂 +8 卷卷卷心菜_ 2026-04-09 8/400 2026-04-09 22:16 by lbsjt
[考研] 一志愿华南理工大学331分材料求调剂 +4 天下ww 2026-04-09 4/200 2026-04-09 21:28 by bljnqdcc
[考研] 调剂 +19 2261744733 2026-04-08 19/950 2026-04-09 19:11 by vgtyfty
[考研] 085600材料与化工专硕329 求调剂 +24 额cc 2026-04-06 25/1250 2026-04-09 16:01 by wp06
[考研] 材料307分求大佬组收留 +17 Hll胡 2026-04-07 17/850 2026-04-09 10:53 by liuhuiying09
[考研] 招收有机化学、化工,药学,食品灯专业学生 +3 yrfhjgdj 2026-04-08 3/150 2026-04-09 10:15 by QYQX_123
[考研] 本科南方医科大学 一志愿985 药学学硕284分 求调剂 +3 弱水听文 2026-04-09 3/150 2026-04-09 09:06 by susuqq
[考研] 机械专硕273请求调剂 +6 庚申壬申 2026-04-07 6/300 2026-04-08 22:41 by bljnqdcc
[考研] 一志愿211,化学学硕,310分,本科重点双非,求调剂 +20 努力奋斗112 2026-04-07 21/1050 2026-04-08 14:54 by screening
[考研] 农学,求调剂,314分 +4 访客记录可爱 2026-04-04 4/200 2026-04-07 21:07 by 等岸
[考研] 一志愿北京化工085600 310分求调剂 +20 0856材料与化工3 2026-04-04 22/1100 2026-04-07 15:14 by 上岸快快
[考研] 081200-11408-367学硕求调剂 +4 1_2_3111 2026-04-06 4/200 2026-04-07 08:13 by jp9609
[考研] 第一志愿东南大学物理313,有科研竞赛获奖经历,希望物理复试调剂 +3 马内橙 2026-04-05 3/150 2026-04-06 10:32 by 蓝云思雨
[考研] 0855求调剂材料 +11 红桃灼灼 2026-04-04 12/600 2026-04-06 10:26 by 蓝云思雨
[考研] 070300化学学硕311分求调剂 +11 梁富贵险中求 2026-04-04 13/650 2026-04-06 07:24 by houyaoxu
[考研] 一志愿9材料学硕297已过六级求调剂推荐 +11 adaie 2026-04-04 12/600 2026-04-05 19:04 by 蓝云思雨
[考研] 344材料与化工调剂 +9 调剂上岸玘 2026-04-03 9/450 2026-04-04 23:10 by happyddm
[考研] 266求调剂 +8 学员97LZgn 2026-04-03 8/400 2026-04-04 09:02 by 20021109
[考研] 294求调剂 +6 Grey_Ey 2026-04-03 6/300 2026-04-03 20:46 by 欣喜777
信息提示
请填处理意见