Zurück zum Inhaltsverzeichnis

Kapitel 6

Variablen

> restart;

> lsg:=solve( x^2-5*x+6=0, x );

lsg := 3, 2

> x:=lsg[1];

x := 3

> solve( x^2-5*x+6=0, x );

Error, (in solve) a constant is invalid as a variable, 3

> x^2-5*x+6=0;

0 = 0

> x:='x';

x := 'x'

> solve( x^2-5*x+6=0, x );

3, 2

Interne Darstellung

> restart;

> x:=3:
assigned(x), assigned(a);

true, false

> a:=1: b:=2: c:=3:

> unassign('a, b, c');

> a,b,c;

a, b, c

> w:=1: x:=a^2+b^2: y:={a+b=5, a-b=1}: z:=array([1,2]):

> whattype(w), whattype(x), whattype(y), whattype(z);

integer, `+`, set, symbol

> type(y,set);

true

> type(z,array);

true

> type(z,matrix);

false

anames, unames

> anames();

`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...
`type/matrix`, contourplot, polygonplot, listcontpl...

> unames();

Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...
Embed, dagtag, identical, ``, equation, anyfunc, en...

> sort( select( x->length(x)<8, [anames()]) );

[Vector, assign, matrix, w, x, y, z]

> Pi:=3.14;

Error, attempting to assign to `Pi` which is protected

assign

> restart;

> x:=2;

x := 2

> y:='x'; z:='y';

y := x

z := y

> z;

2

> x:=3: z;

3

> x:=3;

x := 3

> restart;

> a:=array(0..5);

a := array(0 .. 5,[])

> seq( assign(a[i],2^i), i=0..5);

> seq(a[i], i=0..5);

1, 2, 4, 8, 16, 32

> seq( assign(a[i],2^i), i=0..5);

Error, (in assign) invalid arguments

> seq( assign( evaln(a[i]),3^i ), i=0..5);

> seq(a[i], i=0..5);

1, 3, 9, 27, 81, 243

> restart;

> x:=y;

x := y

> assign(x, 3); x,y;

3, 3

> restart;

> solve( {x+y=3, x-y=2} );

{y = 1/2, x = 5/2}

> assign(%);

> x,y;

5/2, 1/2

eval mit Nebenbedingungen

> restart;

> eval( x^2 + 2*x*y + y^2, { x=2, y=3} );

25

> eval(sin(x)+cos(y),{x=y^2, y=x^2} );

sin(y^2)+cos(x^2)

> solve( {x^2+y^2=10, x+y=4});

{y = 1, x = 3}, {x = 1, y = 3}

> eval( x^2 + 2*x*y + y^2, %[1]);

16

assume

> restart;

> Re( expand((a+I*b)^2) );

Re(a^2+2*I*a*b-b^2)

> assume(a,real, b,real);

> Re( expand((a+I*b)^2) );

a^2-b^2

> sqrt(n^2);

sqrt(n^2)

> assume(n>0);

> sqrt(n^2);

n

> simplify(sqrt(x^2));

csgn(x)*x

> simplify(sqrt(x^2),symbolic);

x

> n:='n':

> cos(n*Pi);

cos(n*Pi)

> assume(n,integer): cos(n*Pi);

(-1)^n

> assume(n,odd): cos(n*Pi);

-1

> restart;

> int(exp(-a*x^2), x=0..infinity);

Definite integration: Can't determine if the integral is convergent.

Need to know the sign of --> a

Will now try indefinite integration and then take limits.

limit(1/2*sqrt(Pi)*erf(sqrt(a)*x)/(sqrt(a)),x = inf...

> assume(a>=0): int(exp(-a*x^2), x=0..infinity);

1/2*sqrt(Pi)/(sqrt(a))

> assume(x0>0):

> is(x0>-1), is(x0>1), is(x0,real), is(x0>x1);

true, false, true, FAIL

> about(x0);

Originally x0, renamed x0~:

is assumed to be: RealRange(Open(0),infinity)

macro und alias

> restart;

> macro(s=solve): s(x^2-2);

sqrt(2), -sqrt(2)

> macro(s=sin): s(x^2-2);

sin(x^2-2)

> macro(s=1.2345): s:=3;

Error, invalid left hand side of assignment

> macro(s=s): s:=3;

s := 3

> restart;

> alias(s=sin);

I, s

> sin(x);

s(x)

> alias(f=f(x)): diff(f^2,x);

2*f*diff(f,x)

Verkettung mit ||

> restart;

> a||b||c;

abc

> abc:=3;

abc := 3

> a||b||c;

3

> a||b||c:=4;

abc := 4

> a||b||c;

4

> b:=1: c:=2: a||b||c;

a12

> a:=x: a||b||c;

a12

> ``||a||b||c;

x12

> cat(a,b,c);

x12

> sum('x||i', i=0..5);

x0+x1+x2+x3+x4+x5

System- und Umgebungsvariablen

> Digits:=20: evalf(1/3);

.33333333333333333333

> series(sin(x)/(1+x),x);

series(1*x-1*x^2+5/6*x^3-5/6*x^4+101/120*x^5+O(x^6)...

> Order:=10: series(sin(x)/(1+x),x);

series(1*x-1*x^2+5/6*x^3-5/6*x^4+101/120*x^5-101/12...

> restart;

> interface(showassumed=2);

> assume(n,odd); sin(n*x);

sin(n*x)

>

Zurück zum Inhaltsverzeichnis