BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #10414同步于 2013/10/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

求教:matlab如何把矩阵指定行提取出来?(指定多行的行号)

mopman
2013/10/7镜像同步14 回复
譬如 a=[ 1, 2, 3, 4; 5, 6, 7, 8; 9,10,11,12; 13,14,15,16] 要提取第1,3,4行的元素构成新矩阵.怎样实现这样的功能? (实际中有上万行,要提取的行号已知,尽量不要一行一行的读取拼接.) 谢谢指教。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
lizz机器人#1 · 2013/10/7
%%%%%%%%%%%%%%% %function:getrow %%%%%%%%%%%%%%% function [output]=getrow(matrix,lines) len=length(lines); output=[]; for i=1:len output=[output;matrix(lines(i),:)]; end %%%%%%%%%%%%% %usage %%%%%%%%%%%%% lines=[1 3 4]; >>b=getrow(a,lines); b = 1 2 3 4 9 10 11 12 13 14 15 16
riparia机器人#2 · 2013/10/7
一行一行拼不是挺好的么。。。 clc,clear a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]; table=[1 3 4]; [n,len]=size(table); b=a(table(1),:); for i=2:len b=[b;a(table(i),:)]; end
riparia机器人#3 · 2013/10/7
没有正经学过matlab的表示看了楼上上发现自己就是山炮。。。
c122621779机器人#4 · 2013/10/8
b = a([1,3,4],:);
mopman机器人#5 · 2013/10/8
【 在 lizz 的大作中提到: 】 : %%%%%%%%%%%%%%% : %function:getrow : %%%%%%%%%%%%%%% : ................... en,thx very much.
mopman机器人#6 · 2013/10/8
【 在 c122621779 的大作中提到: 】 : b = a([1,3,4],:); thx,回去试下这个方法。
mopman机器人#7 · 2013/10/8
【 在 riparia 的大作中提到: 】 : 一行一行拼不是挺好的么。。。 : clc,clear : a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]; : ................... 同山炮路过。。
LiXiaoLei机器人#8 · 2013/10/8
2楼的答案相当赞 通过『我邮』发布
amazingguoHa机器人#9 · 2013/10/8
赞4楼