24小时热门版块排行榜    

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

fluenter

银虫 (正式写手)

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

change0618

铁杆木虫 (著名写手)

方丈大师

举例说明一下
3楼2012-05-13 22:00:34
已阅   回复此楼   关注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的回帖

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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 287求调剂 +7 晨昏线与星海 2026-03-19 8/400 2026-03-20 22:19 by JourneyLucky
[考研] 材料与化工 322求调剂 +4 然11 2026-03-19 4/200 2026-03-20 22:12 by luoyongfeng
[考研] 南昌大学材料专硕311分求调剂 +3 77chaselx 2026-03-20 3/150 2026-03-20 22:03 by luoyongfeng
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 08工学调剂 +5 用户573181 2026-03-20 5/250 2026-03-20 15:47 by xia_2003
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 3/150 2026-03-20 11:58 by 呱呱呱呱叫
[考研] 294求调剂材料与化工专硕 +14 陌の森林 2026-03-18 14/700 2026-03-19 22:38 by 学员8dgXkO
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 材料考研调剂 +3 xwt。 2026-03-19 3/150 2026-03-19 11:22 by w沐阳w
[考研] 346求调剂[0856] +3 WayneLim327 2026-03-16 6/300 2026-03-19 11:21 by WayneLim327
[考研] 0703化学 305求调剂 +4 FY_yy 2026-03-14 4/200 2026-03-19 05:54 by anny19840123
[考研] 0703化学调剂,求各位老师收留 +10 秋有木北 2026-03-14 10/500 2026-03-19 05:52 by anny19840123
[考研] 299求调剂 +5 △小透明* 2026-03-17 5/250 2026-03-18 11:49 by 尽舜尧1
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考博] 26申博 +4 八6八68 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 11408 一志愿西电,277分求调剂 +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[考研] 070303 总分349求调剂 +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
信息提示
请填处理意见