如何在matlab中的数组,向量或矩阵结构中存储一些分组值?

时间:2014-01-06 08:32:02

标签: arrays matlab vector matrix

我的问题是在matlab中将一些可变数量的值组存储为数组,向量或矩阵中的一维。

如果我们认为这些值是这样的:

1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6....

我希望将它们动态保存在结构中,因为每个组都是此结构的一个元素,例如:

    a = [1 1 1 1 1 1 1 1]
    b = [2 2 2 2 2]
    c = [3 3 3 3 3 3 3]
    d = [4 4 4 4 4 4 4]
    e = [5 5 5]
    f = [6 6 6 6 6]

    x = [a,b,c,d,e,f]

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用结构:

>> myStruct.a = [1 1 1 1 1 1 1 1];
>> myStruct.b = [2 2 2 2 2];
>> myStruct.c = [3 3 3 3 3 3 3];
>> myStruct.d = [4 4 4 4 4 4 4];
>> myStruct.e = [5 5 5];
>> myStruct.f = [6 6 6 6 6]
myStruct = 
    a: [1 1 1 1 1 1 1 1]
    b: [2 2 2 2 2]
    c: [3 3 3 3 3 3 3]
    d: [4 4 4 4 4 4 4]
    e: [5 5 5]
    f: [6 6 6 6 6]

或者,如果要对对象进行数字索引,请使用单元格数组:

>> myCell{1} = [1 1 1 1 1 1 1 1];
>> myCell{2} = [2 2 2 2 2];
>> myCell{3} = [3 3 3 3 3 3 3];
>> myCell{4} = [4 4 4 4 4 4 4];
>> myCell{5} = [5 5 5];
>> myCell{6} = [6 6 6 6 6];
>> myCell{:}
ans =
     1     1     1     1     1     1     1     1
ans =
     2     2     2     2     2
ans =
     3     3     3     3     3     3     3
ans =
     4     4     4     4     4     4     4
ans =
     5     5     5
ans =
     6     6     6     6     6