我有下面的结构与价值。当我尝试比较字段的值时,出现以下错误。我能做些什么?
输入
XYZ.Element_2 =='Fundamental'
if XYZ.Element_2 == 'RMS'
var33=1
else
var33=0
end
输出
Matrix dimensions must agree.
Error in sample50main (line 38)
if XYZ.Element_2 == 'RMS'
看起来问题在于MATLAB正在尝试进行字符数组比较,并且由于这些数组的字符数不相等,因此会引发尺寸错误。可以通过使用双引号进行字符串比较来解决此问题""
。或者,你可以使用strcmp()
上面的注释中所述的功能。以下是两个实现:
条件为真:
XYZ.Element_2 = 'Fundamental';
if XYZ.Element_2 == "RMS"
var33 = 1;
else
var33 = 0;
end
条件错误:
XYZ.Element_2 = 'RMS';
if XYZ.Element_2 == "RMS"
var33 = 1;
else
var33 = 0;
end
strcmp()
函数条件为真:
XYZ.Element_2 = 'Fundamental';
if strcmp(XYZ.Element_2,'RMS')
var33 = 1;
else
var33 = 0;
end
条件火焰:
XYZ.Element_2 = 'RMS';
if strcmp(XYZ.Element_2,'RMS')
var33 = 1;
else
var33 = 0;
end
使用MATLAB R2019b跑