0

受这个问题的启发:

Matlab - 如何一次读取 2 个字节

定义

s= '778310098';

我写了一个单行:

c = reshape(reshape(s(1:2^(nextpow2(length(s))-mod(length(s),2))),2,[]).',[],2)

哪个输出

c =

77
83
10
09

并带我走得很远,但没有雪茄,因为我的目标是将结果作为cell array字符串,包括奇数终端元素'8'

我想知道如何尽可能简洁地将输出的内容char array变成cell array带有条目的

d{1} = '77'
d{2} = '83'
d{3} = '10'
d{4} = '09'

另外,我想(简洁地)附加缺失值,这样

d{5} = '8'
4

1 回答 1

1

这非常适用于奇怪的情况:

mat2cell(s, 1, [2*ones(floor(size(s, 2)/2)), mod(size(s,2), 2)])'

但即使在这种情况下,它也会在最后添加一个额外的空单元格。在这种情况下,我建议您不要对自己执行单线规则。

于 2013-07-27T09:53:27.440 回答