搞定了,绝对是最简洁,运行效率最高的算法,就是不知道你能不能看懂。
程序如下:
clear;
clc;
x = rand(10,5); %%%%% 自己定义的矩阵
K = 3;
[a b] = size(x);
for ii = 1:K
var = x(ii:K:a,:);
eval(strcat( 'A',num2str(ii),'=var'));
end
结果:
A1 =
0.2137 0.6103 0.3124 0.6759 0.4301
0.2296 0.9325 0.2905 0.3991 0.7425
0.9621 0.5735 0.6147 0.1051 0.4293
0.0058 0.2235 0.8272 0.3545 0.8497
A2 =
0.3978 0.8011 0.5845 0.2489 0.5722
0.9361 0.7633 0.4026 0.5994 0.7579
0.4380 0.7926 0.9912 0.8214 0.9563
A3 =
0.3337 0.2330 0.8299 0.4758 0.7008
0.6832 0.8264 0.8621 0.8005 0.3891
0.9403 0.3290 0.2037 0.8411 0.5730
A=[];
for i=1:10 %A1至A10
eval(['A',num2str(i),'=','rand(2,5)']); %A1至A10都是2行五列的矩阵,这个要改成你想要的
eval(['A=[A;A',num2str(i),'];']); %组合A=[A1;A2;A3;...]
end
再循环里加A=[A,A(n)];
初始A=A1;
把此例子看懂
k = 0;
A = zeros( 3,1 );
for i = 1:3
k = k + 1 ;
A(i,1) = k ;
end
A 回车键