An issue with the command 'isAlways'
3 views (last 30 days)
Show older comments
Mohammad Shojaei Arani
on 29 Dec 2022
Commented: Mohammad Shojaei Arani
on 30 Dec 2022
Hello,
I have a simple question concerning the command 'isAlways' (appologies, if I am bothering you for a naive question). I do not know why I get an error message when I try to supress the warning message on undecided cases. For instance,
>> syms x real
>> tf = isAlways(x^2>=0,Unknown="false")
tf = isAlways(x^2>=0,Unknown="false")
↑
Error: Incorrect use of '=' operator. To assign a value to a variable, use '='. To compare values for equality, use '=='.
I also tried 'false' or '0' (instead of "false") and '==' (instead of '=') in an attempt to fix this which failed.
Thanks,
Babak
0 Comments
Accepted Answer
Steven Lord
on 29 Dec 2022
The name=value syntax was introduced in release R2021a. If you're using an earlier release you'll need to use the "name, value" syntax.
syms x real
tf = isAlways(x^2>=0,"Unknown","false")
4 Comments
Stephen23
on 30 Dec 2022
Edited: Stephen23
on 30 Dec 2022
"To make my code workable for all matlab versions..."
Then you cannot use STRING() class either, it was introduced in R2016b:
"This fails because if your matlab version is 2021a or higher then the 'else' part finds an error, and vice versa."
Actually the syntax with two inputs (known as "name-value" in the MATLAB documentation) is also valid on alll new releases, so you can simply use "Unknown","false" with all MATLAB releases. Lets try it now with the release supported on this website:
matlabRelease.Release % as new as it gets right now
isAlways([true,false],"Unknown","false") % absolutely no problem
So, no error at all. Your IF .. ELSE .. END is superfluous.
More Answers (0)
See Also
Categories
Find more on Assumptions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!