An issue with the command 'isAlways'

4 views (last 30 days)
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

Accepted Answer

Steven Lord
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")
tf = logical
1
  4 Comments
Stephen23
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
ans = "R2022b"
isAlways([true,false],"Unknown","false") % absolutely no problem
ans = 1×2 logical array
1 0
So, no error at all. Your IF .. ELSE .. END is superfluous.
Mohammad Shojaei Arani
Mohammad Shojaei Arani on 30 Dec 2022
Hi Steven,
Wonderful!
Thanks!
Babak

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!