Matlab:比较不同的变量类型



我有下面的Matlab代码。变量";k〃;可以指定值,1、2、3或"N"。基于"0"的值;k〃;我需要执行后续的if语句。我以为Matlab不会执行下面的if语句并返回值k1=k2=0,但它做了一些不同的事情。当我发布";谁";命令我看到了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

使用ischar()函数作为检查

一种方法可以是添加一个包装/外部if语句来检查k是否不是char(字符(,然后再评估其他两个内部if语句。函数CCD_ 3将评估为"0";真";如果变量k(输入(是char(字符(,则为false。在这种情况下,我们使用~波浪号来指示结果的非/补码。这颠倒了情况,并且CCD_;真";当变量CCD_ 7(输入(不是字符(字符(时。简而言之,保护/外部if语句可以读作">";如果CCD_ 8是而不是

k = 'N';
k1=0;
k2=0;
if ~ischar(k)
if k >= 1 
k1 = 1;
end
if k >= 2 
k2 = 2;
end
end
k1
k2

使用MATLAB R2019b运行

相关内容

  • 没有找到相关文章

最新更新