matlab将每个char元素更改为单元格数组中的单元格类型

matlab change each char element to cell type in a cell array

我有一个看起来像这样的单元格数组

result =
  [49x2 char]
  [49x2 char]
  [49x2 char]
  [49x2 char]
  [49x2 char]
  [49x2 char]

(结果的长度可能真的很大) 我想将每个元素更改为单元格类型。 喜欢

 r = cell{2,1}, r{1} = ['ab';'cd';'rf'], r{2} = ['rt';'cd';'er']

 r = {'ab';'cd';'rf';'rt';'cd';'er'} 

我曾尝试使用像 cellstr([r{:}]) 这样的短语,但事实证明这会将 r 更改为

r = 
'abab'
'cdcd'
'rfrt'

而且我知道我可以像这样使用循环

for i = 1:length(r)
 a = [a ; cellstr(r{i})]

但我认为它滑得太多了 space。谁能帮忙? 非常感谢。

你快搞定了。您需要垂直连接逗号分隔列表 r{:},而不是水平连接。所以,使用

cellstr(vertcat(r{:}))