matlab下标问题假如说 我要给一组数分别赋值 但是这组数据长度未知s1,s2,s3,...sn如果不能用数组 那怎么

问题描述:

matlab下标问题
假如说 我要给一组数分别赋值 但是这组数据长度未知
s1,s2,s3,...sn
如果不能用数组 那怎么表示?因为这里赋给这n个数的值都是二维数组,本来准备用case,可是列举不出来啊
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
如果这n个二维数组维数相等,那就简单,做一个数组的数组allS
把这n个数据都做成数组,当成行放进去,取的时候计算一下行就行了,但是必须sn都是同维数矩阵.
s1 = [1,2;3,4];
allS = [s1];
s2=[5,6;7,8];
allS = [allS; s2];
s3 = [9,10;11,12];
allS = [allS; s3];
取s2,这样,先根据2计算行下标,
(2-1)*size(s2,1)+1:2*size(s2,1)
列全取就是:
allS((2-1)*size(s2,1)+1:2*size(s2,1),:);
同理,去sn就是
allS((n-1)*size(sn,1)+1:n*size(sn,1),:);
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么