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

Arrays 如何在matlab中以数组、向量或矩阵结构存储一些分组值?,arrays,matlab,vector,matrix,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

我的问题是如何在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]
如何执行此操作?

使用结构:

>> 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

您需要为此使用单元阵列。但是你可以更紧凑地使用单元格数组来实现这一点。@Shai:“更好”是“好”的敌人:)无论如何,我认为OP所追求的是一种结构,因为他的例子在这个方向上有一些提示。但这实际上取决于他的具体应用,哪一个更好。细胞阵列是有帮助的。谢谢你的回复。