Challenge: XCAS code to anothers CAS
03-21-2018, 07:52 PM (This post was last modified: 03-21-2018 08:03 PM by compsystems.)
Post: #1
 compsystems Senior Member Posts: 1,331 Joined: Dec 2013
Challenge: XCAS code to anothers CAS
Challenge: Port the following simple code written in XCAS on a calculator of texas instruments, casio, ..., as well as in other CAS (Mathematica, Maple, Symbolic toolbox (matlab), etc.

Terms:
You can not use text strings to form expressions, only CAS commands

The following code, shows an exercise of the solution of a system step by step
PHP Code:
testCAS():={

local y,x,list0,expr0,lsolx,y1,y2,sols,test1;

purge(x,y);

autosimplify(nop); autosimplify();

approx_mode(0); approx_mode();

DispGClrIOprintf("Solving a system of two equations"); printf("Solve the following system:");

list0 := [ x^22*]; printf(list0);

printf("substitute y = x² in y = 2x + 3:");

expr0 := subst(list0(2),list0(1)); printf(expr0);

printf("substract 2x + 3:");

expr0 := expr0-(2*3); printf(expr0);

printf("simplify:");

expr0 := simplify(expr0); printf(expr0);

printf("factor:");

expr0 := factor(expr0); printf(expr0);

printf("zero factor theorem:");

lsolx := [ part(left(expr0),1)=0part(left(expr0),2)=]; printf(lsolx);

printf("First factor plus 3, second minus 1:");

lsolx := [lsolx(1)+3lsolx(2)-]; printf(eval(lsolx,1));

printf("simplify"); printf("x values:");

lsolx := simplify(lsolx); printf(lsolx);

printf("y values:"); printf("Replace x values in the system, firts equation");

y1 := subst(list0(1),lsolx(1)); printf(y1);

printf("Replace x values in the system, second equation");

y2 := subst(list0(1),lsolx(2)); printf(y2);

printf("Solutions shaped as a array");

sols:=[[lsolx(1),y1],[lsolx(2),y2]]; printf(sols);

printf("Checking results:"); printf("Replace x and y values in the system, firts equation");

test1 := subst(list0(1),[sols(1,1),sols(1,2)]); printf(test1);

printf("Evaluate:");

test1 := evalb(test1); printf(test1);

printf("Replace x and y values in the system, second equation");

test1 := subst(list0(1),[sols(2,1),sols(2,2)]); printf(test1);

printf("Evaluate:");

test1 := evalb(test1); printf(test1);

sols := solve([ x^22*],[x,y]); printf("Solutions:"); printf(sols);

printf("Solutions shaped as a boolean expression:");

sols := list2exp(sols,[x,y]); printf(eval(sols,1));

printf("Graphing");

plot([x^2,2*x+3],x);

// DispHome

return("Done");
}:;

output

/! The hp-prime still can not be executed, because there is no control over the CAS modes from a program
 « Next Oldest | Next Newest »

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