Matlab:如何在字符中转换双精度值 []



我有这个数组,我想转换char"中的值double[]

 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检查矩阵是否为空。对于这种情况,我们检查每个单元格,如果是,则用空字符串替换单元格的内容。

最新更新