Kapitel 13
> restart:
solve
> solve(x^2+3*x+2=0, x);
> solve(x^2+3*x+2);
> solve( a*x^2+b*x+c);
> solve( a*x^2+b*x+c,x);
> f:=expand( (x-1)^2*(x+Pi)*(3*x-1/x) );
> solve(f);
symbolic versus numeric solution (see also fsolve)
> solve(x^3=8);
> solve(x^3=8.0);
> fsolve(x^3=8);
> fsolve(x^3=8, x, complex);
> solve(x^2=1.5+a,x);
> fsolve(x^2=1.5+a,x);
Error, (in fsolve) a is in the equation, and is not solved for
trigonometric equations, _EnvAllSolutions
> restart:
> solve(sin(x)=cos(x));
> _EnvAllSolutions:=true:
> solve(sin(x)=cos(x));
> s:=solve(sin(x^2)=1/2);
>
> about(_Z1);
_Z1:
nothing known about this object
>
>
Gleichungssysteme
> restart:
> eq:= {x+y+z-4, x-3*y+z, 2*x-y+z}:
Man muss alle Variablen angeben.
> solve( eq, x);
> solve( eq, {x,y,z});
> eq:={exp(x)+exp(y)+exp(z)=1, sin(x)+sin(y)=1, y+z=1};
> solve(eq, {x,y,z});
> evalf(%);
> evalf(subs(%,eq));
RootOf, allvalues
> s:=solve(x^6+x+1,x);
> evalf(s);
> eq:={x+y=5, x*y=7}:
> s:=solve( eq, {x,y});
> dep:=allvalues(s);
> seq( evalf((subs(i, eq))), i=dep);
> solve( {5*x^2 - 5*y^2 - 3*x + 9*y=0, 5*x^3+5*y^3-15*x^2-13*x*y-y^2=0}, {x,y});
> fsolve(ln(1+x)+ln(3+x)+x=5);
> f:=2*x + cos(x) - 2*sin(2*x):plot(f,x=-2..5);
> fsolve(f);
> fsolve(f, x=-2..2);
> fsolve(f, x=-2..-1);
> fsolve( x^3+2*x-1);
> fsolve( x^3+2*x-1, x,complex);
> fsolve({x+y=9/2, x*y=5}, {x,y});
>
solve({x+y=9/2, x*y=5}, {x,y}):
evalf( % );
> fsolve(x^2+5);
> fsolve(x^2+5,x, complex);
> f:=cos(x^2)-x/3:
> plot(f,x=-4..4);
> fsolve( f );
> fsolve( f,x, x=2..2.5);
> fsolve(f, x, x=2.5..3);
> fsolve(f, x, x=-2.5..-1.5 );
> fsolve(f, x, x=-1.9..-1.0 );
> Digits:=40: f:=sinh(x)-cosh(x):
> lsg1:=fsolve(f);
> plot( {sinh(x), cosh(x)}, x=-2..4);
Jetzt mal ohne die unpassende Numerik:
> is(cosh(x)-sinh(x)>0);
> assume(x,real):convert(cosh(x)-sinh(x),exp);
> is(%>0);
> limit(cosh(x)-sinh(x),x=infinity);
>
>
> restart:
manipulating the solution
subs, assign
> s:=solve( x^2-x-6 ,{x});
> eval(sin(1/(1+x^2)),s[1]);
> s:=solve( {x^2+y^2=5, x+y=3} );
> eval(3*x^2+5*y-x*y,s[2]);
> seq( eval(3*x^2+5*y-x*y,i), i=s);
>
assign( s[2] );
x,y;
to clear x and y
> restart:
simplifying the solution
> _EnvAllSolutions:=true:
> s:=solve(sin(x)+cos(x)=1/sqrt(2));
> simplify([s]);
> map(simplify,[s]);
verifying the solution
>
_EnvAllSolutions:=false:
eq:=sin(x)^2+cos(x)=1/2: s:=solve( eq, x );
> seq(simplify(eval(eq,x=i)), i=s);
> seq(evalf(subs(x=i, eq)), i=s);
plotting points
> s:=solve( sin(x)^2+cos(x)+3 );
> sf:=map(evalf,[s]);
> pts:=[seq( [Re(i),Im(i)], i=sf)];
> plot(pts, style=point, symbol=circle );
> plots[complexplot]([s],style=point, symbol=circle);
>
>
rsolve
> restart:
> lsg:=rsolve({f(n)=n+f(n-1),f(0)=0},f(n));
> nsum:=unapply(simplify(lsg),n);
> nsum(10);
>
> lsg:= rsolve( {f(n)=f(n-1)+f(n-2), f(0)=0, f(1)=1}, f(n) );
> fib:=unapply( radnormal(lsg), n);
> fib(15);radnormal(%);
pattern matching
> restart:
> match( x^2-1= (x-a)*(x-b), x, 'lsg');
> lsg;
> solve( identity( x^2-1=(x-a)*(x-b), x), {a,b} );
> match( 2*sin(3*x^4)= a*sin(n*x^k), x, 'lsg'); lsg;
> solve( identity( 2*sin(3*x^4)= a*sin(n*x^k), x), {a,n,k} );
> match( x^2+3*x+5= a*(x+b)^2+c*x, x, 'lsg'); lsg;
> allvalues(%);
> subs(%[1], a*(x+b)^2+c*x);
> match( sin(2*x)+sin(x) = cos(x+c)+cos(2*x+c), x, 'lsg');
> solve(identity(sin(2*x)+sin(x) = cos(x+c)+cos(2*x+c),x), {c});
special commands
Lösungsfunktionen
> restart:
> lsg:=solve( f(x)+f(x)^2=1+x^3, f);
> unapply(convert(lsg(x),radical), x);
> simplify( lsg(x)+lsg(x)^2 );
Ungleichungen, Simplex probleme
> solve( abs(x)<1);
> solve(abs(x)<1, {x});
> solve( x^2+x>2); solve( x^2+x>2, {x});
> solve( x^2+x<2); solve( x^2+x<2, {x});
> solve( abs(x)+abs(x+3)<10); solve( abs(x)+abs(x+3)<10, {x});
> solve( x^2+x>5, x ); solve( x^2+x>5, {x} );
> solve( a*x^2+b*x+c>0,x);
> solve( sin(x)>1/2 );
> eq := {x+y>=5, x-y>=1, y-x/2<=1/2}:
> solve( eq, {x, y} );
isolve
> isolve( x+2*y+3*z=10, {k,l} );
>