Einzelnen Beitrag anzeigen
  #18  
Alt 08.06.07, 00:17
Benutzerbild von richy
richy richy ist offline
Singularität
 
Registriert seit: 01.05.2007
Ort: karlsruhe
Beitr?ge: 4.170
Standard AW: Heraushalten bis in alle Ewigkeit

Hi Liano
Ja das ist Maple. Programmierbares Computeralgebrasystem. Die Syntax ist aus C entlehnt.

Statt Start und Endklammer {} eines Befehlsblocks wird ein Schluesselwort verwendet

do
und zu Kennzeichnung des Blockendes dieses gespiegelt angeschrieben :
od

if das zutrifft tue
dies; und jedes; und noch das;
fi

":= "bedeutet lediglich eine Wertezuweisung, als Abgrenzung zu "=", das anders verwendet wird.
";" beendet wie in C einen Befehl. Genauso ":" wobei keine Bildschirmausgabe erfolgt.
Sprungbefehle gibt es keine. Braucht man auch nicht.

> for i from 1 to N do a[i]:=a[i]/p; od:

Ist also lediglich eine Schleife in der ich alle a[i] anspreche i=1 bis N
In p habe ich vorher alle a[] aufsummiert, so dass obiges einer Normierung entspricht.

In dem Fall sind a[] Samples mit der ich eine Dichtefunktion vorgebe.
Ich kann damit eine Dichtefunktion praktisch anmalen.
a[1]=1 ; a[2]=10 ; a[3]=100 ; a[4]=10 ....
Erzeugt Zufallszahlen in denen
die Zwei 10 mal haeufiger als die Eins vorkommt
die Drei 10 mal haeufiger als die Zwei oder Vier vorkommt.
Jede Dichte ist einstellbar. Auch Anzahl und Wertebereich der Zufallszahlen.

Einzigst die Zufallsfunktion ist in Maple bissel seltsam.
Man weist zunaechst die komplette Funktion einer Varaiblen zu.
(Im vergleich mit C. Ein Pointer auf eine Funktionsadresse)

Das Programm ist ja superkurz. Eine vorbereitende Integration. (Verteilung.)
Im Kern ein einziger Vergleich .
Dennoch mathematisch etwas kniffelig. Das ganze basiert auf dem aequivalenten Ereignis der Wahrscheinlichkeitstheorie und das ist etwas schwerer zu verstehen.
Besonders warum das ueberhaupt funktioniert :-)

Kann das ganze auch gerne allgemein mal anschreiben.
Sind ja gerade um die 4 bis 5 echte Programmzeilen.

Ge?ndert von richy (08.06.07 um 06:04 Uhr)
Mit Zitat antworten