我有以下代码,
temp = cell(0,206);
for i = 1:numel(models)
mod = models{i};
for j = 2:size(raw_quant,1)
if raw_quant{j,4} == mod
temp(end+1,:) = raw_quant(j,:);
end
end
end
当我运行它时,我收到错误
"Error using ==
Matrix dimensions must agree."
mod只是一个字符串,我确保raw_quant {j,4}都是字符串。
有什么想法吗?
谢谢, →
答案 0 :(得分:2)
通过执行以下操作我得到了同样的错误
'geoff'=='was here'
== 运算符假定正在尝试比较两个大小相等的数组或矩阵,而不是特定于字符串或char数组。如你所说,模型是一个62x1的单元阵列。该数组中的任何元素都不能保证是标量(或单个字符)。
如果你想比较两个字符串,那么我建议你使用 strcmp 函数
if strcmp(raw_quant{j,4},mod)==1
temp(end+1,:) = raw_quant(j,:);
end
同样,重新考虑命名变量 mod ,这是一个内置的MATLAB函数,用于分割后的模数,以避免代码中的任何(可能)未来的错误,当您尝试使用 mod 功能,而不是 mod 变量。