Post Reply 
CAS: math expresion -> logical evaluation
08-27-2016, 02:36 PM
Post: #1
CAS: math expresion -> logical evaluation
How to evaluate an expression with the (=) operator, so that returns a Boolean value (true/false)?

Example

0 = 0 -> true
10*e^5-10*e^10 = 0 -> false

I think it takes a function of the type.
evaLogic (MathExpre) -> true/false

evaLogic ( (10 * e ^ 5) - (10 * e ^ 10) = 0 ) -> false
Find all posts by this user
Quote this message in a reply
08-27-2016, 03:04 PM (This post was last modified: 08-27-2016 04:06 PM by Didier Lachieze.)
Post: #2
RE: CAS: math expresion -> logical evaluation
What about :
Code:
EXPORT EvalLogic(expression)
BEGIN
  LOCAL s;
  s:=REPLACE(STRING(expression),"=","==");
  CAS(s);
END;

EvalLogic('0=0') -> 1
EvalLogic('0=1') -> 0
EvalLogic('10*e^5-10*e^10=0') -> 0

And in CAS mode you can also evaluate expressions with undefined variables :

EvalLogic('2*x = x+x') -> 1

[Edited to support undefined variables]
Find all posts by this user
Quote this message in a reply
08-27-2016, 06:29 PM
Post: #3
RE: CAS: math expresion -> logical evaluation
subst(x^2+x*y+y^2+x*y=x^2+2x*y+y^2,'=','==')
Find all posts by this user
Quote this message in a reply
08-28-2016, 06:55 AM
Post: #4
RE: CAS: math expresion -> logical evaluation
(08-27-2016 06:49 PM)compsystems Wrote:  The flags must be changed manually =(, but that's not the idea, the flags should be changed from the program code, it is to automate algorithms as does the hp 48 hp 50, TI89 ...

No need to change the flags if you explicitly simplify the expression :
Code:
#cas
evalLogicv3(expression)
BEGIN
  LOCAL bool_numeric;
  bool_numeric:= subst(simplify(expression),'=','==');
  if(bool_numeric==1) then
    return true;
  else
    return false;
  end;
END;
#end
Find all posts by this user
Quote this message in a reply
08-31-2016, 06:57 AM
Post: #5
RE: CAS: math expresion -> logical evaluation
(08-28-2016 06:44 PM)compsystems Wrote:  also must be added EXACT MODE

Do you have an exemple of an expression for which the latest version of evalLogicv3 is different depending on the status of the Exact flag ?
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)