matlab - Matlab Structures:如何比较结构的内容?收到以下错误
问题描述
我有下面的结构和价值。当我尝试比较该字段的值时,出现以下错误。我能做些什么?
输入
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 运行
推荐阅读
- typescript - 使用相同的 s3 实例 ( "aws-sdk" ) 并在每个请求上更改凭据
- php - 如果 dataProvider 包含 GROUP BY 和 INNER JOIN,Yii2 GridView 显示“(未设置)”
- c++11 - 尝试 pip 安装模块时出现编译器错误
- docker - 如何在docker的环境变量中传递单个反斜杠
- selenium - 量角器:点击后如何正确等待?
- c++ - 使用 Bash 在多个文件中搜索 C++ 函数声明和实现
- php - 如何使用 PHP 和 MySQL 设置购物车的总价
- java - 用于 Scala 到 Java 集合转换的高性能包装器
- python - Http Basic Auth 与 Python 中 Base64 的 RFC2045-MIME 变体
- sql-server - 将长 java 日期时间转换为 SQL Server 日期时间