Arrays 如何在matlab中以数组、向量或矩阵结构存储一些分组值?
我的问题是如何在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
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所追求的是一种结构,因为他的例子在这个方向上有一些提示。但这实际上取决于他的具体应用,哪一个更好。细胞阵列是有帮助的。谢谢你的回复。