24小时热门版块排行榜    

查看: 4674  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了 +11 wuchongjun 2026-08-20 15/750 2026-08-20 17:28 by wuchongjun
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +16 Ldrop2023 2026-08-13 20/1000 2026-08-20 11:07 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见