Einfache Wahrscheinlichkeitsrechnung

Aufgaben:

  1. Messergebnis:[0,0,2,2,5,4,6,0,9,10,6,5,11,6,6,15,14,1,0,17].
    a) Bestimme die Häufigkeiten.
    b) Bestimme W(x>2).
    c) Wie hoch ist der Erwartungswert?
  2. Messergebnis:[1,2,1,0,5,1,5,6,9,7,1,6,12,14,15,3,7,10,8,12,8,9,8,19,24].
    a) Bestimme die Häufigkeiten.
    b) Bestimme W(x>3).
    c) Wie hoch ist der Erwartungswert?
  3. Messergebnis:[0,0,2,2,5,4,6,0,9,2,3,4,10,8,11,0,6,5,11,6,6,15,14,1,0,17].
    a) Bestimme die Häufigkeiten.
    b) Bestimme W(x>1).
    c) Wie hoch ist der Erwartungswert?

Strichliste – Sortieren hilft:

tipp1a

Strichliste zu 1a:
strichliste_1

Vollständige Lösung Tabellenkalkulation:
Tabellenkalkulation lässt sich gut anwenden, hat aber einen kleinen Nachteil: die Anzahl der Messergebnisse erfordert jeweils Anpassungen. Die Ausgabe ist sehr schön, die mathematische Vorgangsweise aber eher weniger transparent.

strichliste_2

Programmcode:

load(descriptive);
x:[0,0,2,2,5,4,6,0,9,10,6,5,11,6,6,15,14,1,0,17];
k:2;
G:discrete_freq(x);
X:G[1];
H:G[2];
n:length(H);
N:sum(H[i],i,1,n);
p:H/N;
W:sum(p[i],i,k+1,n);
E:sum(p[i]*X[i],i,1,n),numer;
E:floor(E*10+0.5)/10.0;

Das Unterprogramm descriptive ermöglicht Gruppierung mit discrete_freq()

Programmcode mit benutzerdefinierter Funktion:

A:[[0,0,2,2,5,4,6,0,9,10,6,5,11,6,6,15,14,1,0,17],2]
/* EINGABE kann verändert werden */;
f(x,k):=block(
load(descriptive),
G:discrete_freq(x),
X:G[1],
H:G[2],
n:length(H),
N:sum(H[i],i,1,n),
p:H/N,
W:sum(p[i],i,k+1,n),
E:sum(p[i]*X[i],i,1,n),numer,
E:floor(E*10+0.5)/10.0,
"Ergebnis"
);
f(A[1],A[2]);
display(W,E);

Ausführung mit Maxima Onlinehttp://maxima-online.org/?inc=r-1301181831

Programmcode (alle Aufgaben auf einmal):

f(L):=block(
load(descriptive),
Ergebnis:[],
G:discrete_freq(L[1]),
X:G[1],
H:G[2],
n:length(H),
N:sum(H[i],i,1,n),
p:H/N,
W:sum(p[i],i,L[2]+1,n),
E:sum(p[i]*X[i],i,1,n),numer,
E:floor(E*10+0.5)/10.0,
Ergebnis:append(Ergebnis,[W,E])
);
Aufgaben: matrix(
[[0,0,2,2,5,4,6,0,9,10,6,5,11,6,6,15,14,1,0,17],2],
[[1,2,1,0,5,1,5,6,9,7,1,6,12,14,15,3,7,10,8,12,8,9,8,19,24],3],
[[0,0,2,2,5,4,6,0,9,2,3,4,10,8,11,0,6,5,11,6,6,15,14,1,0,17],1]
)
/* Eingabe darf geändert werden */;
A:args(Aufgaben);
map(f,A);

Es gibt also 3 wesentliche Schritte:

pap

Die Ausführung mit Maxima Online: http://maxima-online.org/?inc=r-607858086

Hinweis: ohne Computerunterstützung ist die Anwendung der Gegenwahrscheinlichkeit anzuraten.

Advertisements

Zinseszins

Zinseszins

Aufgaben der Finanzmathematik  sind besonders gut für die Anwendung eines Computeralgebrasystems geeignet.

Ko = Anfangskapital
p = Zinsatz dekursiv p.a. in Prozent
i = p/100 = Interest (engl.), der Zinssatz als Dezimalzahl
r = Aufzinsungsfaktor
n = Laufzeit (in Jahren)
Kn = Endkapital

Programmcode: http://maxima-online.org/?inc=r1082931755

Ko:1000;
p:3;
n:10;
i:p/100.0;
r:1+i;
Kn:Ko*r**n;
Kn:floor(Kn*100+0.5)/100.0;

Maxima Online: http://maxima-online.org/?inc=r1082931755
Mit „finance“-Unterprogramm: http://maxima-online.org/?inc=r10577185 (die Verwendung von Unterprogrammen für so einfache Aufgabenstellung sollte man vermeiden, es sei den, das Unterprogramm wird entweder selbst geschrieben oder wenigstens genau analysiert. Black Box Methoden wie Taschenrechnerverwendung haben wenig Bildungswert).

In diesem Fall wird die benutzerdefinierte Funktion

fv(i,Ko,n):=Ko*(1+i)^n

verwendet, das ist einfach zu verstehen.

Mapping-Übung: http://maxima-online.org/?inc=r1869469945

Übung:
Berechnung des Endkapitals

Anfangskapital Ko Zinssatz in % p Laufzeit n Endkapital Kn
1000,– 3 10  
1500,– 2,5 8  
700,– 2 11  
2000,– 2,125 6  

Das kann man natürlich auch mit einem Tabellenkalkulationsprogramm lösen. Aber, es soll natürlich auf möglichst einfache Weise mit Maxima gelöst werden.

Eine Polynomfunktion zu einer gegebenen Punkteliste bestimmen

Aufgabe:

Zu einer gegebenen (und geeigneten) Liste von Punkte ist die passende Polynomfunktion zu bestimmen. Der Grad des Polynoms ist automatisch um eins kleiner als die Anzahl der Punkte!

Programmcode:

kill(all);
Punkt:[[-3,0],[0,3],[2,0],[5,0]];
n:length(Punkt);
Grad:n-1;
g(x):=x[2]=sum(a[i]*x[1]^(n-i),i,1,Grad)+a[n];
Gleichungen:map(g,Punkt);
Unbekannte:makelist(a[i],i,1,n);
l:solve(Gleichungen,Unbekannte);
y=Unbekannte.makelist(x^(n-i),i,1,n),l;

Maxima Online: http://maxima-online.org/?inc=r-1848088314

Erklärung der Berechnung: prog-punkte

  1. Löschen aller Speicher (nicht notwendig!).
  2. Liste der gegebenen Punkte –> EINGABE (darf verändert werden).
  3. Anzahl der gegebenen Punkte.
  4. Der Grad des gesuchten Polynoms ist um eins kleiner als die Anzahl der gegebenen Punkte.
  5. Funktionsmuster für die Bestimmungsgleichung der Polynomfunktion.
  6. Das Funktionsmuster auf die Punkteliste anwenden. Die Koordinaten der Punkte werden eingesetzt und die Liste der Gleichungen automatisch erzeugt.
  7. Die Liste der Unbekannten erzeugen. Die Verwendung von indizierten Koeffizienten ist notwendig.
  8. Lösung des Gleichungssystems.
  9. Die gesuchte Funktion mit Skalarmultiplikation (von Vektoren = Listen) erzeugen.

Noch eine Aufgabe inkl. Graph und Faktorenzerlegung:
http://maxima-online.org/?inc=r-1201857931

Dualzahlen in Dezimalzahlen verwandeln

aufgabe101

Programmcode:
Dualzahl:[1,1,0,1]/* Eingabe, darf veraendert werden */;
n:length(Dualzahl);
Umwandler:makelist(2^(n-i),i,1,n);
Dezimalzahl:Dualzahl.Umwandler /* Skalarprodukt */;

Lösung mit Maxima Online: http://maxima-online.org/?inc=r78755656

Ein Beispiel für das Zahlensystem mit der Basis 6 mit einem verbesserten Algorithmus:
http://maxima-online.org/?inc=r1035833127