matlab 如何将for每循环一次产生的矩阵合并成一个大矩阵

比方说for循环,第一次产生的矩阵是A1,第二次是A2,就是说产生的方式相同,但生成的矩阵不同。现在新的矩阵是A=【A1;A2】.这里的循环不只两次,是n次,就是说不能直... 比方说for循环,第一次产生的矩阵是A1,第二次是A2,就是说产生的方式相同,但生成的矩阵不同。现在新的矩阵是A=【A1;A2】.这里的循环不只两次,是n次,就是说不能直接罗列。应该怎么编写呢?
谢谢!
展开
 我来答
郭某人来此
2015-09-13 · TA获得超过1645个赞
知道答主
回答量:952
采纳率:100%
帮助的人:85.9万
展开全部
搞定了,绝对是最简洁,运行效率最高的算法,就是不知道你能不能看懂。
程序如下:
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
wacs5
推荐于2018-09-14 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2753万
展开全部
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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hxfengyang
2010-08-11 · TA获得超过482个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:117万
展开全部
再循环里加A=[A,A(n)];
初始A=A1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chendequan610
2010-08-11 · TA获得超过1904个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:156万
展开全部
把此例子看懂
k = 0;
A = zeros( 3,1 );
for i = 1:3
k = k + 1 ;
A(i,1) = k ;
end
A 回车键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式