注册 登录
编程论坛 Matlab

[求助]怎么把多个变量的值放入同一个数组中?

syracuse 发布于 2006-04-15 21:54, 3718 次点击
不好意思,上次没有把问题说清楚,这回我说具体些:

有n(n很大)个变量(都是一阶),变量名分别为S1--Sn,怎么把这些变量的值放入一个一维数组S中? 举个例子:S1=a,S2=b,S3=c,S4=d,S5=e;构成的数组S=[a,b,c,d,e]

关键是这个n很大,如果一个个给手动输入构成数组S会很麻烦;
如果改用循环的话,变量名是"S1"~"Sn"(非S(1)~S(n)),该怎么处理呢?

[此贴子已经被作者于2006-4-16 14:52:18编辑过]

4 回复
#2
zqjzct2006-04-16 10:08
回复:(syracuse)[求助]怎么把多个变量的值放入同一...


变量s1-sn的阶数没有说清楚,是一阶还是多阶?如果是多阶,是多少阶?
如果阶数是一阶的 ,我想你列出的式子不就是对的吗?

问题需要再清楚点
#3
zqjzct2006-04-16 12:11
回复:(syracuse)[求助]怎么把多个变量的值放入同一...


经过一个上午的查matlab的在线帮助,找到了一个式子,虽然不是很简洁,但至少解决了你的问题,而且在s1-sn数组的阶数不同的时候,它都可以使用,这算是他的优点吧。

式子:

s=[s1(1:end),s2(1:end),....,sn(1:end)];

结果每一个矩阵先按列到行的顺序组成一个行向量,再把所以的行向量组成一个大的行向量。唯一的缺点是当n比较大的时候,要做很多输入。
#4
XW_BAI2006-04-28 08:58
用cell不好吗?
#5
sagiltarivs2006-05-12 21:35

同意用cell(元包数组)
eg.
for i = 1:n
I{i} = input();
end
完全可以解决你的问题。

1