如何将单元格数组的元素从double转换为char?[已关闭]

问题描述 投票:0回答:1

所以..,

我有一个单元格数组(1x5单元格)是这样的。

{[1111] [1111] [1010] [1000] [1011]}

单元格数组中的元素类型是双数,但我希望它们的类型是字符,就像这样。

{'1111' '1111' '1010' '1000' '1011'}

我试着用num2str转换它们,但我得到了错误信息 对于输入参数类型为'cell'的函数'abs'未定义。 基本上意味着我不能对单元格数组使用函数num2str。

有谁知道如何在单元格数组中把double转换为char?

matlab char double cell-array
1个回答
2
投票

你可以 在所有的细胞上。

input = {1111, 1111, 1010, 1000, 1011};
output = cellfun(@num2str, input, 'un', 0);
>> output
output =
  1×5 cell array
    {'1111'}    {'1111'}    {'1010'}    {'1000'}    {'1011'}

另外,还有这样一个方法 绳子 类,这可能与您的情况有关。

outstr = string(input);
>> outstr
outstr = 
  1×5 string array
    "1111"    "1111"    "1010"    "1000"    "1011"

然而,如果你想要一个单元格数组,每个单元格中都有字符,你可以进一步使用 cellstr:

output = cellstr(outstr);
© www.soinside.com 2019 - 2024. All rights reserved.