Arithmetische Folge, rekursiv definiert

Link zu Maxima Online:  http://maxima-online.org/?inc=r-1143318027

(%i1) "*"/* Rekursive Erstellung einer arithmetischen Folge */;
(%o1)                                  *
(%i2) k:5 /* Anzahl der Folgenglieder */;
(%o2)                                  5
(%i3) d:5 /* Differenz der Folge */;
(%o3)                                  5
(%i4) a[1]:3 /* erstes Folgenglied = Startwert */;
(%o4)                                  3
(%i5) r[n]:=a[n]:a[n-1]+d /* Rekursionsformel */;
(%o5)                        r  := a  : a      + d
                              n     n    n - 1
(%i6) Folge:append([a[1]],makelist(r[n],n,2,k)) /* Folge erzeugen */;
(%o6)                         [3, 8, 13, 18, 23]
(%i7)
Werbeanzeigen

Bakterienwachstum

Link zu Maxima Online: http://maxima-online.org/?inc=r1636228633

(%i1) "*"/* Eine Bakterienkultur verdoppelt sich jede Stunde. 
Zu Beginn sind 100 Bakterien vorhanden. 
Skizzieren Sie den zeitlichen Verlauf der Bakterienanzahl 
und finden Sie eine Funktionsgleichung. */;
(%o1)                                  *
(%i2) f:2;
(%o2)                                  2
(%i3) N[0]:100;
(%o3)                                 100
(%i4) k:5 /* Anzahl der Folgenglieder */;
(%o4)                                  5
(%i5) Stunde:makelist(i,i,0,k-1);
(%o5)                           [0, 1, 2, 3, 4]
(%i6)  r[t]:=ev(N[t]:N[t-1]*f) /* Rekursion */;
(%o6)                       r  := ev(N  : N      f)
                             t        t    t - 1
(%i7) l:makelist(r[t],t,1,k-1);
(%o7)                        [200, 400, 800, 1600]
(%i8) Werte:append([N[0]],l) /* zeitlicher Verlauf */;
(%o8)                     [100, 200, 400, 800, 1600]
(%i9) "*"/* Skizze vom zeitlichen Verlauf der Bakterienanzahl */;
(%o9)                                  *
(%i10) plot2d ([discrete,Stunde,Werte],[style,points]);
(%o10) 
(%i11) plot2d ([discrete,Stunde,Werte],[style,points]);;
"*"/* Funktionsgleichung fuer dieses Wachstum */;
(%o11)                                 *
(%i12) N[t]:=N[0]*2^t;
                                            t
(%o12)                            N  := N  2
                                   t     0
(%i13) Werte:makelist(N[t],t,0,k-1);
(%o13)                    [100, 200, 400, 800, 1600]
(%i14)

Zahlen als Summe von Quadratzahlen

Link zu Maxima Online: http://maxima-online.org/?inc=r-1210189933

(%i1) "*"/* Quelle der Aufgabstellung: http://www.zum.de/Faecher/
Materialien/dorner/manuskripthtml/quadratsummen/qzsummen.html */;
(%o1)                                  *
(%i2) "*"/* Die natürlichen Zahlen von 1 bis zu einer bestimmten 
Obergrenze sind als Summe von Quadratzahlen darzustellen */;
(%o2)                                  *
(%i3) "*"/* Eingabe der Obergrenze */;
(%o3)                                  *
(%i4) og:10/* diese Obergrenze darf verändert werden */;
(%o4)                                 10
(%i5) "*"/* Verarbeitung */;
(%o5)                                  *
(%i6) liste:[];
(%o6)                                 []
(%i7) for z:1 thru og do block(for x1:0 thru floor(sqrt(z)) do 
for x2:0 thru floor(sqrt(z)) do for x3:0 thru floor(sqrt(z)) do 
for x4:0 thru floor(sqrt(z)) do if x1^2+x2^2+x3^2+x4^2=z then 
liste:append(liste,[[z,sort([x1,x2,x3,x4])]]));
(%o7)                                done
(%i8) "*"/* Ausgabe */;
(%o8)                                  *
(%i9) transpose(listify(setify(liste)));
                            [ [1, [0, 0, 0, 1]]  ]
                            [                    ]
                            [ [2, [0, 0, 1, 1]]  ]
                            [                    ]
                            [ [3, [0, 1, 1, 1]]  ]
                            [                    ]
                            [ [4, [0, 0, 0, 2]]  ]
                            [                    ]
                            [ [4, [1, 1, 1, 1]]  ]
                            [                    ]
                            [ [5, [0, 0, 1, 2]]  ]
                            [                    ]
(%o9)                       [ [6, [0, 1, 1, 2]]  ]
                            [                    ]
                            [ [7, [1, 1, 1, 2]]  ]
                            [                    ]
                            [ [8, [0, 0, 2, 2]]  ]
                            [                    ]
                            [ [9, [0, 0, 0, 3]]  ]
                            [                    ]
                            [ [9, [0, 1, 2, 2]]  ]
                            [                    ]
                            [ [10, [0, 0, 1, 3]] ]
                            [                    ]
                            [ [10, [1, 1, 2, 2]] ]
(%i10)

Einfache Zinsenrechnung (Tagesformel)

Link zu Maxima Online: http://maxima-online.org/?inc=r841815430

(%i1) "*"/* Einfache  Zinsenrechnung nach der Tagesformel */;
(%o1)                                  *
(%i2) "*"/* Beteiligt: 
      K -> Kapital, 
      p -> Zinssatz, 
      t -> Tage und 
      Z -> Zinsen*/;
(%o2)                                  *
(%i3) S:{K,p,t,Z};
(%o3)                            {p, t, K, Z}
(%i4) "*"/* Drei Beteiligte müssen bekannt sein */;
(%o4)                                  *
(%i5) Aufgabe:listify(powerset(S,3));
(%o5)            [{p, t, K}, {p, t, Z}, {p, K, Z}, {t, K, Z}]
(%i6) "*"/* Zinsen gesucht */;
(%o6)                                  *
(%i7) Aufgabe[1];
(%o7)                              {p, t, K}
(%i8) Z=K*p*t/36000.0,K=1000,p=3,t=180;
(%o8)                              Z = 15.0
(%i9) "*"/* Kapital gesucht */;
(%o9)                                  *
(%i10) Aufgabe[2];
(%o10)                             {p, t, Z}
(%i11) K=Z*36000.0/(p*t),Z=30,p=3,t=90;
(%o11)                            K = 4000.0
(%i12) "*"/* Tage gesucht */;
(%o12)                                 *
(%i13) Aufgabe[3];
(%o13)                             {p, K, Z}
(%i14) t=Z*36000.0/(K*p),Z=30,K=1000,p=3;
(%o14)                             t = 360.0
(%i15) "*"/* Zinssatz gesucht */;
(%o15)                                 *
(%i16) Aufgabe[4];
(%o16)                             {t, K, Z}
(%i17) p=Z*36000.0/(K*t),Z=30,K=1000,t=180;
(%o17)                              p = 6.0
(%i18)

Schnittpunkte von Kreis und Hyperbel

Link zu Maxima Online: http://maxima-online.org/?inc=r777056383

Matthias Praunegger von Ping-Solutions und Desktop für Education hat mir eine verbesserte Version geschickt: http://maxima-online.org/?inc=r208949210

Wilhelm Haager auch weiter: „Das „Eiern“ kannst Du mit der (ziemlich neuen) Option ‚proportional_axes=xy‘ oder auf klassische Weise mit ‚user_preamble=“set size ratio -1″‚ wegbringen.“

Schnittpunkt von zwei Geraden: http://maxima-online.org/?inc=r-109813221

(%i1) "*"/* Schnittpunkt von Kreis und Hyperbel bestimmen */;
(%o1)                                  *
(%i2) load(draw);
(%o2)            /usr/share/maxima/5.21.1/share/draw/draw.lisp
(%i3) "*"/* Gleichung eines Kreises */;
(%o3)                                  *
(%i4) p1:x^2+y^2=4;
                                   2    2
(%o4)                             y  + x  = 4
(%i5) "*"/* Gleichung einer Hyperbel */;
(%o5)                                  *
(%i6) p2:x*y=1;
(%o6)                               x y = 1
(%i7) "*"/* Gleichungssystem lösen */;
res:solve([p1,p2],[x,y]),numer;
(%o7) [[x = - 1.931851652578137, y = - 0.51763809020504], 
[x = 1.931851652578137, y = 0.51763809020504], 
[x = - 0.51763809020504, y = - 1.931851652578136], 
[x = 0.51763809020504, y = 1.931851652578136]]
(%i8) "*"/* Schnittpunkte festhalten */;
(%o8)                                  *
(%i9) punkte:matrixmap(rhs,res);
(%o9) [[- 1.931851652578137, - 0.51763809020504], 
[1.931851652578137, 0.51763809020504], 
[- 0.51763809020504, - 1.931851652578136], 
[0.51763809020504, 1.931851652578136]]
(%i10) "*"/* Die graphische Darstellung der Lösung */;
(%o10)                                 *
(%i11) draw2d(color=black,implicit(p1,x,-3,3,y,-3,3),color=blue,
implicit(p2,x,-3,3,y,-3,3),color=red,point_type=7,point_size=2,
points(punkte),grid=true,xrange=[-3,3],yrange=[-3,3]);
(%o11) [gr2d(implicit, implicit, points)]
(%i12) draw2d(color=black,implicit(p1,x,-3,3,y,-3,3),color=blue,implicit(p2,x,-3,3,y,-3,3),color=red,point_type=7,point_size=2,points(punkte),grid=true,xrange=[-3,3],yrange=[-3,3]);;

Gleichungssystem basteln

Link zu Maxima Online:  http://maxima-online.org/?inc=r-1890332433
mit Probe: http://maxima-online.org/?inc=r366937929

(%i1) "*"/* Ein Gleichungssystem austuefteln */;
powerdisp:true;
(%o1)                                true
(%i2) "*"/* Die Koeffizientenmatrix */;
(%o2)                                  *
(%i3) A: matrix( [4,1,1,1],  [4,1,-2,0],  [1,2,4,1],  [1,2,1,8]);
                               [ 4  1   1   1 ]
                               [              ]
                               [ 4  1  - 2  0 ]
(%o3)                          [              ]
                               [ 1  2   4   1 ]
                               [              ]
                               [ 1  2   1   8 ]
(%i4) "*"/* Die gewünschten Lösungen */;
(%o4)                                  *
(%i5) x: matrix( [-1],  [14],  [-3],  [1])
/* Hier kann man weiter experimentieren */;
                                    [ - 1 ]
                                    [     ]
                                    [ 14  ]
(%o5)                               [     ]
                                    [ - 3 ]
                                    [     ]
                                    [  1  ]
(%i6) "*"/* Das muss man an die erwartete Lösung anpassen */;
(%o6)                                  *
(%i7) b:A.x;
                                    [ 8  ]
                                    [    ]
                                    [ 16 ]
(%o7)                               [    ]
                                    [ 16 ]
                                    [    ]
                                    [ 32 ]
(%i8) "*"/* Variablenmatrix */;
(%o8)                                  *
(%i9) X: matrix( [x1],  [x2],  [x3],  [x4]);
                                    [ x1 ]
                                    [    ]
                                    [ x2 ]
(%o9)                               [    ]
                                    [ x3 ]
                                    [    ]
                                    [ x4 ]
(%i10) "*"/* Das Gleichungssystem */;
A.X=b;
                      [  4 x1 + x2 + x3 + x4  ]   [ 8  ]
                      [                       ]   [    ]
                      [   4 x1 + x2 - 2 x3    ]   [ 16 ]
(%o10)                [                       ] = [    ]
                      [ x1 + 2 x2 + 4 x3 + x4 ]   [ 16 ]
                      [                       ]   [    ]
                      [ x1 + 2 x2 + x3 + 8 x4 ]   [ 32 ]
(%i11)

Polynomgleichungen von W. Haager

Link zu Maxima-Online: http://maxima-online.org/?inc=r-1641098279
Eine Variante für Kreis und Hyperbel: http://maxima-online.org/?inc=r69798870

(%i1) load(draw);
(%o1) /usr/share/maxima/5.21.1/share/draw/draw.lisp
(%i2) p1:y^3+4*y^2+2*x*y+2*y+x^2+2*x=2;
                     3      2                  2
(%o2)               y  + 4 y  + 2 x y + 2 y + x  + 2 x = 2
(%i3) p2:13*x^2-3*y^2-20*x*y+20*y-26*x=-11;
                      2                       2
(%o3)            - 3 y  - 20 x y + 20 y + 13 x  - 26 x = - 11
(%i4) res:solve([p1,p2],[x,y]),realonly=true;
(%o4) [[x = - 14.07510729613734, y = - 8.988313856427379], 
[x = 1.38261253309797, y = - 2.538024164889837], 
[x = - 0.85062789160608, y = - 1.058122915674131], 
[x = 0.65693482761082, y = 0.070681797873291]]
(%i5) punkte:matrixmap(rhs,res);
(%o5) [[- 14.07510729613734, - 8.988313856427379], 
[1.38261253309797, - 2.538024164889837], 
[- 0.85062789160608, - 1.058122915674131], 
[0.65693482761082, 0.070681797873291]]
(%i6) draw2d(color=black,implicit(p1,x,-20,7,y,-10,2),         
color=blue,implicit(p2,x,-20,7,y,-10,2),         
color=red,point_type=7,point_size=2,points(punkte),
grid=true,xrange=[-20,7],yrange=[-10,2]);
(%o6)                 [gr2d(implicit, implicit, points)]
(%i7) draw2d(color=black,implicit(p1,x,-20,7,y,-10,2),         color=blue,implicit(p2,x,-20,7,y,-10,2),         color=red,point_type=7,point_size=2,points(punkte),grid=true,xrange=[-20,7],yrange=[-10,2]);;

chord – die wichtigste Winkelfunktion der Antike

Englische Wikipedia: Begriffserklärung
Geogebratube: http://www.geogebratube.org/student/m57409
Link zu Maxima Online: http://maxima-online.org/?inc=r-549144549

(%i1) "*"/* chord - Berechnung der Sehnenlängen */;
(%o1)                                  *
(%i2) "*"/* Eingabe des Radius */;
(%o2)                                  *
(%i3) r:10;
(%o3)                                 10
(%i4) "*"/* Diese Formel kannst du sehr leicht herleiten */;
(%o4)                                  *
(%i5) Sehne(x):=2*r*sin(x/2);
                                                x
(%o5)                       Sehne(x) := 2 r sin(-)
                                                2
(%i6) "*"/* Für diese Winkel in Grad sollen die Sehnen berechnet 
            werden */;
(%o6)                                  *          
(%i7) alpha:[0,30,45,60,90,135,180];
(%o7)                    [0, 30, 45, 60, 90, 135, 180]
(%i8) "*"/* Umrechnung in Radiant */;
(%o8)                                  *
(%i9) alpha:alpha*%pi/180;
                          %pi  %pi  %pi  %pi  3 %pi
(%o9)                 [0, ---, ---, ---, ---, -----, %pi]
                           6    4    3    2     4
(%i10) "*"/* Listenverarbeitung zur Sehnenberechnung */;
(%o10)                                 *
(%i11) Sehnen:map(Sehne,alpha),numer;
(%o11) [0.0, 5.176380902050415, 7.653668647301796, 9.999999999999998, 
        14.14213562373095, 18.47759065022574, 20.0]
(%i12) "*"/* Runden auf drei Nachkommastellen */;
(%o12)                                 *
(%i13) Sehnen:floor(Sehnen*1000+0.5)/1000.0;
(%o13)           [0, 5.176, 7.654, 10.0, 14.142, 18.478, 20.0]
(%i14)