24小时热门版块排行榜    

查看: 3609  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

windy1011

银虫 (初入文坛)

[求助] 如何根据矩阵中特定元素提取元素所在行的全部信息 已有1人参与

[40  10  10   0  75.8291  -9.1164  -13.7194
50        20  10  80  70.0268  -14.7433  -19.982
60        10  30  0  64.3484  -19.7989  -25.4583
70        10  10  100  61.7309  -23.0001  -28.8289
40        30  10  10  52.8051  -27.8773  -40.3002
90        10  50  0  54.7763  -31.5686  -38.2046
100        10  10  20  52.1687  -36.6261  -42.627
10        60  50  0  83.4774  4.4897  -4.3057
20        20  10  0  79.7278  2.0888  -5.0903
30        20  10  40  76.1861  -0.7425  -9.0672
40        60  0  10  72.2374  -4.393  -14.2564
50        20  10  0  67.2916  -9.6956  -20.2217]

我有一个矩阵  6000行  7列  ,其中,前四列是0 5 10 20 30 40 50 60 70 80 90 100 这几个数字随机排列起来的,截取了其中一部分数据,如上表。
现在我想按照特定的条件提取正行。条件是 第一列数字为40,并且第二列数字可以是0 5 10 20 30 40 50 60 70 80 90 100当中的任何一个,并且第三列数字可以是0 5 10 20 30 40 50 60 70 80 90 100当中的任何一个,并且第四列数字为10.筛选出所有满足这四个条件的整行元素,并且把这些元素所在的整行提取出来,组成新的矩阵,请问这个怎么解决呢?谢谢!


就拿我给出的这部分数据来说 最后的提取结果是
[40        30        10        10        52.8051        -27.8773        -40.3002
40        60        0        10        72.2374        -4.393        -14.2564]

这种效果的
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

windy1011

银虫 (初入文坛)

引用回帖:
3楼: Originally posted by pdl9527 at 2017-04-10 18:37:12
function question_40
clear;clc
R=;
MAT=;
j=1;
for i=1:size(MAT,1)
    if MAT(i,1)==40 && any(R==MAT(i,2)) && any(R==MAT(i,3)) && MAT(i,4)==10
        res(j,=MAT(i,: ...

厉害了 !输出结果是对的。 但是输出结果需要的是矩阵, 不是字符串。这个例子当中 输出结果变为是2行7列的矩阵,再麻烦您修改一下啦!!谢谢您!!
4楼2017-04-11 08:55:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
function question_40
clear;clc
R=[0 5 10 20 30 40 50 60 70 80 90 100];
MAT=[40  10  10   0  75.8291  -9.1164  -13.7194
50        20  10  80  70.0268  -14.7433  -19.982
60        10  30  0  64.3484  -19.7989  -25.4583
70        10  10  100  61.7309  -23.0001  -28.8289
40        30  10  10  52.8051  -27.8773  -40.3002
90        10  50  0  54.7763  -31.5686  -38.2046
100        10  10  20  52.1687  -36.6261  -42.627
10        60  50  0  83.4774  4.4897  -4.3057
20        20  10  0  79.7278  2.0888  -5.0903
30        20  10  40  76.1861  -0.7425  -9.0672
40        60  0  10  72.2374  -4.393  -14.2564
50        20  10  0  67.2916  -9.6956  -20.2217];
j=1;
for i=1:size(MAT,1)
    if MAT(i,1)==40 && any(R==MAT(i,2)) && any(R==MAT(i,3)) && MAT(i,4)==10
        res(j,:)=MAT(i,:);
        j=j+1;
    end
end
disp(res)

3楼2017-04-10 18:37:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

windy1011

银虫 (初入文坛)

引用回帖:
3楼: Originally posted by pdl9527 at 2017-04-10 18:37:12
function question_40
clear;clc
R=;
MAT=;
j=1;
for i=1:size(MAT,1)
    if MAT(i,1)==40 && any(R==MAT(i,2)) && any(R==MAT(i,3)) && MAT(i,4)==10
        res(j,=MAT(i,: ...

厉害了 !输出结果是对的。 但是输出结果需要的是矩阵, 不是字符串。就是说,通过限定的条件把符合条件的一整行筛选出来 ,这些行组成了一个新的矩阵。在这个例子当中 输出结果变为是2行7列的矩阵,再麻烦您修改一下啦!!谢谢您!!
5楼2017-04-11 09:00:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

结果保存在res里面,你可以在结尾加上size(res),得到的结果是2,7说明res就是2行7列的矩阵,根本不是你说的字符串啊...
6楼2017-04-11 17:32:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600材料与化工306 +4 z1z2z3879 2026-03-21 4/200 2026-03-21 23:44 by ms629
[考研] 化学工程321分求调剂 +18 大米饭! 2026-03-15 22/1100 2026-03-21 20:20 by HH领袖
[考研] 0703化学调剂 +11 妮妮ninicgb 2026-03-15 15/750 2026-03-21 19:15 by ColorlessPI
[考研] 277材料科学与工程080500求调剂 +6 自由煎饼果子 2026-03-16 6/300 2026-03-21 17:21 by 学员8dgXkO
[考研] 材料学学硕080502 337求调剂-一志愿华中科技大学 +4 顺顺顺mr 2026-03-18 5/250 2026-03-21 10:22 by luoyongfeng
[考研] 求调剂 +6 Mqqqqqq 2026-03-19 6/300 2026-03-21 08:04 by JourneyLucky
[考研] 310求调剂 +3 baibai1314 2026-03-16 3/150 2026-03-21 03:56 by JourneyLucky
[考研] 一志愿华南师大 070300(化学)304分求调剂 +3 0703武芊慧雪304 2026-03-18 3/150 2026-03-21 00:48 by JourneyLucky
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-18 3/150 2026-03-21 00:46 by JourneyLucky
[考研] 一志愿西南交大,求调剂 +5 材化逐梦人 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[考研] 274求调剂 +10 S.H1 2026-03-18 10/500 2026-03-20 23:51 by JourneyLucky
[考研] 321求调剂 +9 何润采123 2026-03-18 11/550 2026-03-20 23:19 by JourneyLucky
[考研] 330求调剂 +4 小材化本科 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[考研] 求调剂 +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 328求调剂,英语六级551,有科研经历 +4 生物工程调剂 2026-03-16 12/600 2026-03-19 11:10 by 生物工程调剂
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
信息提示
请填处理意见