我不确定术语,但我已将文本文件中的数据读取到 1x1 单元格数组P
中。检查时P
,它会在 (1,1) 位置列出“<142x2 单元格>”。从那里我可以双击它,它会打开我真正想要的 142x2 单元格。问题是,我不知道如何通过代码操作这些数据以将 1x1 单元阵列转换为 142x2 单元阵列。此外,我在任何地方都找不到大括号表示的内容。
问问题
5972 次
2 回答
7
我不知道如何通过代码操作这些数据以将 1x1 单元阵列转换为 142x2 单元阵列。
元胞数组P
实际上是一个 1x1 元胞数组,它又包含另一个142x2 元胞数组。这种类型的输出在使用时很常见textscan
。要访问内部元胞数组,您可以简单地使用花括号 ( {}
),如下所示:
Q = P{1}; // or P{:} if you're certain that P holds only one cell
结果Q
应该包含您的 142x2 单元阵列。P
我通常通过做“扁平化” P = P{:}
,而不使用中间变量。
此外,我在任何地方都找不到大括号表示的内容。
您是否阅读过MATLAB 关于特殊字符的文档?它是这样说的:
花括号用于元胞数组赋值语句。例如
A(2,1) = {[1 2 3; 4 5 6]}
, 或A{2,2} = ('str')
。有关help paren
的更多信息,请参阅{ }
。
我还敦促您阅读以下(非常)相关的问题:使用 {} 和 () 访问单元格元素的区别(大括号与括号)
于 2013-10-24T14:21:54.137 回答
2
简短回答:您可以将第一个单元格的内容分配P
给P
.
例子:
P = {cell(142,2)}; %Create a 142x2 cell inside a cell
P = P{1}; %Solution: Now P is a 142x2 cell
如果您尝试help cell
,它将引导您help paren
解释大括号的使用。
于 2013-10-24T14:43:49.453 回答