返回信息流譬如 a=[ 1, 2, 3, 4;
5, 6, 7, 8;
9,10,11,12;
13,14,15,16]
要提取第1,3,4行的元素构成新矩阵.怎样实现这样的功能?
(实际中有上万行,要提取的行号已知,尽量不要一行一行的读取拼接.)
谢谢指教。
这是一条镜像帖。来源:北邮人论坛 / matlab / #10414同步于 2013/10/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
求教:matlab如何把矩阵指定行提取出来?(指定多行的行号)
mopman
2013/10/7镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
%%%%%%%%%%%%%%%
%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
一行一行拼不是挺好的么。。。
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
【 在 lizz 的大作中提到: 】
: %%%%%%%%%%%%%%%
: %function:getrow
: %%%%%%%%%%%%%%%
: ...................
en,thx very much.
【 在 riparia 的大作中提到: 】
: 一行一行拼不是挺好的么。。。
: clc,clear
: a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16];
: ...................
同山炮路过。。