【发布时间】:2020-12-08 23:34:17
【问题描述】:
我有下面的 Matlab 代码。变量“k”可以赋值为 1、2、3 或“N”。基于“k”的值,我需要执行后续的 if 语句。我认为 Matlab 不会执行下面的 if 语句并返回值 k1=k2=0 但它会做一些不同的事情。当我发出“whos”命令时,我看到了 Matlab 生成的变量类型。你能帮我理解 Matlab 想要做什么吗?我还能如何比较/实现我想要做的事情?
Matlab 代码
k = 'N'
k1=0;
k2=0;
if k >= 1
k1 = 1;
end
if k >= 2
k2 = 2;
end
k1
k2
Matlab 输出
k =
'N'
k1 =
1
k2 =
2
【问题讨论】:
-
'N'是一个 char。与 数字 比较时,此字符被解释为其 ASCII 码,即78。因此,两个“if”条件都为真
标签: matlab compare variable-types