为什么 x={1:4} return 一个 1x1 单元格而 x={1 2 3 4} return 一个 1x4 单元格? [MATLAB]
Why does x={1:4} return a 1x1 cell and x={1 2 3 4} return a 1x4 cell? [MATLAB]
为什么 x={1:4}
return 一个 1x1 单元格 和 x={1 2 3 4}
return 一个 1x4 单元格?
我想使用 x={1:n}
语句获得 1xn 单元格。原因是我需要构造一个struct
struct('field1', [], 'field2', x, 'field3', ' message')
这样的结构是
问题是如果我使用 x={1:4}
,结构会变成
但我希望结构看起来像第一张图片。我需要使用 x={1:n}
语句,因为 n
可能非常大。
谁能提出解决方案?提前谢谢你。
由于 1:4
给出了数值向量 [1 2 3 4]
,赋值 x = {1:4}
与 x = {[1 2 3 4]}
相同。所以 x
是一个包含 1×4 向量的 1×1 元胞数组。
另一方面,x = {1 2 3 4}
创建一个 1×4 的数字元胞数组。
要创建类似 x = {1 2 3 4}
的不同大小 n
,您可以先创建数值向量 1:n
,然后应用 num2cell
,这会将每个数字放在一个单独的单元格:
x = num2cell(1:n);
为什么 x={1:4}
return 一个 1x1 单元格 和 x={1 2 3 4}
return 一个 1x4 单元格?
我想使用 x={1:n}
语句获得 1xn 单元格。原因是我需要构造一个struct
struct('field1', [], 'field2', x, 'field3', ' message')
这样的结构是
问题是如果我使用 x={1:4}
,结构会变成
但我希望结构看起来像第一张图片。我需要使用 x={1:n}
语句,因为 n
可能非常大。
谁能提出解决方案?提前谢谢你。
由于 1:4
给出了数值向量 [1 2 3 4]
,赋值 x = {1:4}
与 x = {[1 2 3 4]}
相同。所以 x
是一个包含 1×4 向量的 1×1 元胞数组。
另一方面,x = {1 2 3 4}
创建一个 1×4 的数字元胞数组。
要创建类似 x = {1 2 3 4}
的不同大小 n
,您可以先创建数值向量 1:n
,然后应用 num2cell
,这会将每个数字放在一个单独的单元格:
x = num2cell(1:n);