24小时热门版块排行榜    

查看: 4390  |  回复: 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的回帖

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的回帖
查看全部 5 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 287求调剂 +4 晨昏线与星海 2026-03-19 5/250 2026-03-20 16:42 by Iveryant
[考研] 279分求调剂 一志愿211 +9 chaojifeixia 2026-03-19 10/500 2026-03-20 12:29 by lature00
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 3/150 2026-03-20 11:58 by 呱呱呱呱叫
[考研] 085700资源与环境308求调剂 +10 墨墨漠 2026-03-18 11/550 2026-03-20 11:57 by 学员8dgXkO
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +6 吃吃吃才有意义 2026-03-19 6/300 2026-03-20 10:47 by 尽舜尧1
[考研] 能源材料化学课题组招收硕士研究生8-10名 +5 脱颖而出 2026-03-16 14/700 2026-03-20 09:30 by kkcoco25
[考研] 求调剂 +3 暗涌afhb 2026-03-16 3/150 2026-03-20 00:28 by 河南大学校友
[考研] 307求调剂 +9 冷笙123 2026-03-17 9/450 2026-03-19 22:44 by 学员8dgXkO
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 346求调剂[0856] +3 WayneLim327 2026-03-16 6/300 2026-03-19 11:21 by WayneLim327
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by 无际的草原
[考研] 材料专硕306英一数二 +10 z1z2z3879 2026-03-16 13/650 2026-03-18 14:20 by 007_lilei
[考研] 299求调剂 +5 △小透明* 2026-03-17 5/250 2026-03-18 11:49 by 尽舜尧1
[考研] 303求调剂 +4 睿08 2026-03-17 6/300 2026-03-18 11:01 by Iveryant
[基金申请] 被我言中:新模板不强调格式了,假专家开始管格式了 +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by 黄鸟于飞Chao
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 277调剂 +5 自由煎饼果子 2026-03-16 6/300 2026-03-17 19:26 by 李leezz
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 一志愿哈工大材料324分求调剂 +5 闫旭东 2026-03-14 5/250 2026-03-14 14:53 by 木瓜膏
信息提示
请填处理意见