Matlab:如何转换 char '' 中的双精度值 []

Matlab: how to trasform the double value [] in a char ''

我有这个数组,我想将值 double [] 转换为 char ''

 A={[];[];'1';[];[];'3';'2';'2';'2';'3';'3';[];'2';'2';'4';'4';'2';'3';[];[];[];'1';'1';'1';'1';'1';'3';'3';'3';'3';'3';'3';'4';'4';'4';'4';[];[];[];[];[]};

我试过

if A==[]
A='';
end

但是 Matlab 给出了这个错误:'Undefined function 'eq' for input arguments of type 'cell'. ' 你能帮帮我吗?

因为您有一个元胞数组,您别无选择,只能遍历元胞数组中的每个条目,用空字符串替换那些空值。以这种方式使用 if 语句不会像您预期的那样工作。我建议你在问更多问题之前花时间阅读 MATLAB 教程。

无论如何,你可以这样做:

for ii = 1 : numel(A)
    if(isempty(A{ii}))
        A{ii} = '';
    end
end

isempty 检查矩阵是否为空。我们针对这种情况检查每个单元格,如果是,则用空字符串替换单元格的内容。