如何在if语句中使用不等于'~='操作符?

1410次浏览(过去30天)
Sohail艾哈迈德
Sohail艾哈迈德 2017年2月21日
评论道: 沃尔特·罗伯森 2017年11月28日
我的代码可以使用'==',但不能使用'~='。我希望它不会显示'error',如果用户输入A或B
x =输入(“输入x”“年代”
如果(x ~ =“一个”) | | (x ~ =“B”
disp (“错误”);
结束

接受的答案

约翰D 'Errico
约翰D 'Errico 2017年2月21日
编辑:约翰D 'Errico 2017年2月21日
一个基本逻辑问题?
您希望仅当A不在集合{'A','B'}中时返回错误。所以调用ismember可能是一个不错的选择。
无论如何,根据你所遵循的方法,如果x等于“A”,那么该子句的后半部分将为真,即使该子句的第一部分为假。逻辑陈述
真正错误的| |
是真的。
您要求的结果只有在子句的两个部分都为真时才为真。使用合乎逻辑的和,而不是合乎逻辑的或。
如果(x ~ =“一个”) & & (x ~ =“B”

更多的答案(2)

1月
1月 2017年2月21日
记住,否定
(x = =“一个”) | | (x = =“B”
是:
~ ((x = =“一个”(x == 0“B”) = = >
~ (x = =“一个”x ==“B”) = = >
(x ~ =“一个”x ~=“B”
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年11月28日
如果((x ~ =“一个”x ~=“p”x ~=“T”))
流(“错误:您输入了错误的选项。”
结束
如果~所有(ismember (x, {“一个”“p”“T”}))
流(“错误:您输入了错误的选项。”
结束

登录评论。


Torsten
Torsten 2017年2月21日
编辑:Torsten 2017年2月21日
如果用户输入A,则x~=B为真,因此(x~='A')||(x~='B')为真,因此显示"error"。
对B。
最好的祝愿
Torsten。

s manbetx 845

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!