Moderne Physik mit Maple  

PDF-Buch Moderne Physik mit Maple 

Update auf Maple 14 (Juli 2010) 

Kapitel 3.3  

Worksheet wellen3.mws 

c International Thomson Publishing Bonn      1995                       filename: wellen3.ms 

Autor: Komma                                                                             Datum: 6.11.93 

Index: Wellen, Überlagerung 

Thema: Form aus Kohärenz, Huygens Physik 

 Form aus Kohärenz 

Vom mathematischen Standpunkt aus betrachtet, spielt die (od. eine) Wellengleichung für Wellen die gleiche Rolle wie die Newtonsche Gleichung für ein Teilchen: beides sind Bewegungsgleichungen -- als DGn formuliert. Aber es gibt einen entscheidenden Unterschied. Abgesehen davon, daß die WG nicht die Bewegung EINES Punktes beschreibt, läßt sie die lineare Superposition von Lösungen zu, was im Newtonschen Fall nur für die Schwingung möglich ist (oder ähnliche Kraftgesetze). 

Diese Superpositionsfähigkeit -- und nicht die Beschreibung einer gleichförmigen Bewegung von ETWAS -- ist das entscheidende Charakteristikum des Phänomens Welle (Schwingung). Weil die Wellengleichung ohne Kraftgesetz auskommt, zählt nur das WIE der Bewegung und nicht das WAS oder WARUM. Und bei dem WIE interessiert nicht "wie schnell" und "wohin", sondern eben nur "auf welche Art". Superposition heißt: eine Welle kommt nie allein -- in Reinkultur. Selbst wenn man meint, man hätte genau eine einzige Welle vor sich, z.B. eine ebene Welle, so irrt man: diese einzige Welle läßt sich *zerlegen* in unendlich viele Wellen, und das auf viele verschiedene Arten. Das ist die Huygensche Physik: Wellen sind das *Ergebnis* von Superposition, Wellen interferieren. Wir wollen uns diesen Vorgang zunächst in der räumlichen Darstellung veranschaulichen und in einem weiteren Abschnitt auf die Details der wichtigen Sonderfälle wie Doppelspalt, Gitter und Spalt zurückkommen. Das ist typisch für das Vorgehen mit einem CAS: im Gegensatz zu herkömmlichen Methoden, die meist vom Einfachen, Elementaren zum Komplexen führen, kann mit einem CAS ein komplexer Zusammenhang direkt angegangen werden, zumindest was seine Veranschaulichung betrifft. Und dann kann weiter analysiert und zerlegt werden. 

 

Nach Huygens kann jeder Punkt einer Wellenfront als Zentrum einer Elementarwelle aufgefaßt werden. 

Wir versuchen, eine nach oben laufende Welle mit geraden Fronten zunächst mit Zentren zu erzeugen, die auf einer Geraden liegen, also z.B. durch Kreiswellen in der x-y-Ebene mit Zentren auf der x-Achse  

> restart; 1with(plots)
 

[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...





[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...
(1)
 

> `assign`(welle, sum(elem[i], i = 1 .. n))
 

sum(elem[i], i = 1 .. n) (2)
 

> `assign`(elem[i], cos(`+`(`*`(k, `*`(r[i])), `-`(`*`(w, `*`(t))))))
 

cos(`+`(`*`(k, `*`(r[i])), `-`(`*`(w, `*`(t))))) (3)
 

> `assign`(r[i], sqrt(`+`(`*`(`^`(`+`(x, `-`(x0[i])), 2)), `*`(`^`(y, 2)))))
 

`*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(2, `*`(x, `*`(x0[i])))), `*`(`^`(x0[i], 2)), `*`(`^`(y, 2))), `/`(1, 2))) (4)
 

> `assign`(n, 5)
 

5 (5)
 

> for j to n do
 

> x0[j]:=2*j od:
 

> welle
 

`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(4, `*`(x))), 4, `*`(`^`(y, 2))), `/`(1, 2)))), `-`(`*`(w, `*`(t))))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(8, `*`(x))), 16, `*`(`^`...
`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(4, `*`(x))), 4, `*`(`^`(y, 2))), `/`(1, 2)))), `-`(`*`(w, `*`(t))))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(8, `*`(x))), 16, `*`(`^`...
(6)
 

>
 

Animation der Wellenfronten 

> `assign`(w, 2); 1`assign`(k, `/`(1, 2)); 1`assign`(t, 't')
 

 

 

2
`/`(1, 2)
t (7)
 

> `assign`(wani1, animate3d(welle, x = -20 .. 20, y = -20 .. 20, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), axes = boxed, style = contour, orientation = [-90, 0], frames = 30))
`assign`(wani1, animate3d(welle, x = -20 .. 20, y = -20 .. 20, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), axes = boxed, style = contour, orientation = [-90, 0], frames = 30))
 

PLOT3D(ANIMATE([GRID(-20. .. 20., -20. .. 20., [[-1.82453446364813, -2.20432309642867, -2.04234026012804, -1.51673599390631, -.840585457684379, -.187864338754172, .339459511186571, .708801115690297, .... (8)
 

> wani1
 

Plot_2d
 

Dreidimensionale Animation 

> `assign`(wani2, animate3d(welle, x = -20 .. 40, y = -20 .. 20, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), axes = boxed, style = wireframe, frames = 20, orientation = [42, 7]))
`assign`(wani2, animate3d(welle, x = -20 .. 40, y = -20 .. 20, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), axes = boxed, style = wireframe, frames = 20, orientation = [42, 7]))
 

PLOT3D(ANIMATE([GRID(-20. .. 40., -20. .. 20., [[-1.82453446364813, -2.20432309642867, -2.04234026012804, -1.51673599390631, -.840585457684379, -.187864338754172, .339459511186571, .708801115690297, .... (9)
 

> wani2
 

Plot_2d
 

Die Wellenfronten sind je nach Anzahl und Dichte der Zentren im Nahbereich "gerade" und aus großem Abstand sieht ohnehin alles wie ein Punkt aus und sendet somit Kugelwellen. Aber unsere Konstruktion hat einen Nachteil: die Welle läuft in zwei Richtungen. Man hört ja auch manchmal die Scherzfrage, ob sich Huygens nicht geirrt habe -- denn wie kann aus Wellen die in alle Richtungen laufen, eine geordnete Bewegung in eine Richtung entstehen?  

Untersuchen wir also, ob sich Huygens geirrt hat. Dazu müssen wir die Anordnung unserer Zentren in die Ebene ausdehnen. 

Array von regelmäßig angeordneten Zentren 

> restart; 1with(plots)
 

[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...





[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...
(10)
 

> `assign`(welle, sum(sum(elem[i][j], i = 1 .. n), j = 1 .. m))
 

sum(sum(elem[i][j], i = 1 .. n), j = 1 .. m) (11)
 

> `assign`(elem[i][j], cos(`+`(`*`(k, `*`(r[i][j])), `-`(`*`(w, `*`(t))), `*`(k, `*`(y0[i][j])))))
 

cos(`+`(`*`(k, `*`(r[i][j])), `-`(`*`(w, `*`(t))), `*`(k, `*`(y0[i][j])))) (12)
 

> `assign`(r[i][j], sqrt(`+`(`*`(`^`(`+`(x, `-`(x0[i][j])), 2)), `*`(`^`(`+`(y, `-`(y0[i][j])), 2)))))
 

`*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(2, `*`(x, `*`(x0[i][j])))), `*`(`^`(x0[i][j], 2)), `*`(`^`(y, 2)), `-`(`*`(2, `*`(y, `*`(y0[i][j])))), `*`(`^`(y0[i][j], 2))), `/`(1, 2))) (13)
 

> `assign`(n, 5); 1`assign`(m, 3)
 

 

5
3 (14)
 

> for ii to n do
 

> for jj to m do
 

> `assign`(x0[ii][jj], `+`(`*`(6, `*`(ii))))
 

> y0[ii][jj]:=2*jj od: od:
 

> plot({seq(seq([x0[ii][jj], y0[ii][jj]], ii = 1 .. n), jj = 1 .. m)}, x = -20 .. 40, style = point, color = red, symbol = circle)
 

Plot_2d
 

winpl(): 

> `assign`(i, 'i'); 1`assign`(j, 'j')
 

 

i
j (15)
 

> welle
 

`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...






`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...`+`(cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x, 2)), `-`(`*`(12, `*`(x))), 40, `*`(`^`(y, 2)), `-`(`*`(4, `*`(y)))), `/`(1, 2)))), `-`(`*`(w, `*`(t))), `*`(2, `*`(k)))), cos(`+`(`*`(k, `*`(`^`(`+`(`*`(`^`(x...
(16)
 

> `assign`(w, 2); 1`assign`(k, `/`(1, 2)); 1`assign`(nf, 15); 1`assign`(t, 't')
 

 

 

 

2
`/`(1, 2)
15
t (17)
 

> wani3:=animate3d(welle,x=-20..40,y=-20..40,t=0..2*(1-1/nf)*Pi/w,axes=boxed,style=contour,
 

> scaling=constrained,orientation=[-90,0],frames =nf):
 

> wani3
 

Plot_2d
 
 

> animate3d(welle, x = -20 .. 40, y = -20 .. 40, t = 0 .. `/`(`*`(`*`(2, `+`(1, `-`(`/`(1, `*`(nf))))), `*`(Pi)), `*`(w)), axes = boxed, style = wireframe, frames = nf)
 

Plot_2d
 

>

Jetzt läuft schon wesentlich mehr nach oben als nach unten.Woran liegt das? An der regelmäßigen Anordnung der Zentren? Daran liegt es auch (man kann die Zentren aber auch "schlecht" anordnen, probieren Sie doch mal Ihre  eigene Anordnung aus). Aber an der Anordnung der Zentren liegt es nicht in erster Linie, wie folgender Versuch beweist: 

 

Lage der Zentren zufallsverteilt 

> `assign`(zuf, rand(0 .. round(`+`(`/`(`*`(2, `*`(Pi)), `*`(k))))))
 

proc () (proc () option builtin = RandNumberInterface; end proc)(6, 14, 4) end proc (18)
 

> `assign`(n, 5); 1`assign`(m, 5)
 

 

5
5 (19)
 

> for ii to n do
 

> for jj to m do
 

> `assign`(x0[ii][jj], zuf())
 

> y0[ii][jj]:=zuf() od: od:
 

> plot({seq(seq([x0[ii][jj], y0[ii][jj]], ii = 1 .. n), jj = 1 .. m)}, x = -20 .. 40, style = point, color = red, symbol = circle)
 

Plot_2d
 

> `assign`(w, 2); 1`assign`(k, `/`(1, 2)); 1`assign`(nf, 15); 1`assign`(t, 't')
 

 

 

 

2
`/`(1, 2)
15
t (20)
 

> `assign`(wani4, animate3d(welle, x = -20 .. 40, y = -20 .. 40, t = 0 .. `/`(`*`(`*`(2, `+`(1, `-`(`/`(1, `*`(nf))))), `*`(Pi)), `*`(w)), axes = boxed, style = contour, orientation = [-90, 0], frames =...
`assign`(wani4, animate3d(welle, x = -20 .. 40, y = -20 .. 40, t = 0 .. `/`(`*`(`*`(2, `+`(1, `-`(`/`(1, `*`(nf))))), `*`(Pi)), `*`(w)), axes = boxed, style = contour, orientation = [-90, 0], frames =...
`assign`(wani4, animate3d(welle, x = -20 .. 40, y = -20 .. 40, t = 0 .. `/`(`*`(`*`(2, `+`(1, `-`(`/`(1, `*`(nf))))), `*`(Pi)), `*`(w)), axes = boxed, style = contour, orientation = [-90, 0], frames =...wani4
 

 

PLOT3D(ANIMATE([GRID(-20. .. 40., -20. .. 40., [[1.21910827400995, -1.11459283772489, -2.41131968932608, -2.30646570276626, -1.39453646806984, -.455138642178813, .125626248147990, .412035320226367, .6...
Plot_2d
 

*Wo* die Zentren liegen spielt also keine entscheidende Rolle für die Form der Wellenfronten und ihre Ausbreitungsrichtung, solange es nur genügend viele Zentren sind. Es kommt vielmehr auf die "richtige" Phasenbeziehung an (die natürlich oben in die Formeln hineingesteckt wurde). Und Huygens hat also recht, wenn er sagt, daß JEDER Punkt einer Wellenfront als Zentrum einer Elementarwelle aufgefaßt werden kann. Aufgefaßt? Es *ist* so, daß die Phasenbeziehung und damit die Kohärenz die Form bestimmt. 

Wir wollen uns das an einem eindimensionalen Schnitt in y-Richtung veranschaulichen, d.h. wir setzen nun Zentren auf die y-Achse, "steuern sie mit der richtigen Phase an", addieren die Amplituden der in beide Richtungen laufenden Wellen und verfolgen  ihre Ausbreitung. 

> restart; 1with(plots)
 

[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...





[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fiel...
(21)
 

> `assign`(welle, sum(elem[i], i = 1 .. n))
 

sum(elem[i], i = 1 .. n) (22)
 

> `assign`(elem[i], cos(`+`(`*`(k, `*`(r[i])), `-`(`*`(w, `*`(t))), `*`(k, `*`(y0[i])))))
 

cos(`+`(`*`(k, `*`(r[i])), `-`(`*`(w, `*`(t))), `*`(k, `*`(y0[i])))) (23)
 

> `assign`(r[i], abs(`+`(y, `-`(y0[i]))))
 

abs(`+`(y, `-`(y0[i]))) (24)
 

> `assign`(n, 5); 1`assign`(k, 'k')
 

 

5
k (25)
 

> for j to n do
 

> y0[j]:=Pi/k*j/n od:
 

> welle
 

`+`(cos(`+`(`*`(k, `*`(abs(`+`(y, `-`(`/`(`*`(`/`(1, 5), `*`(Pi)), `*`(k))))))), `-`(`*`(w, `*`(t))), `*`(`/`(1, 5), `*`(Pi)))), cos(`+`(`*`(k, `*`(abs(`+`(y, `-`(`/`(`*`(`/`(2, 5), `*`(Pi)), `*`(k)))...
`+`(cos(`+`(`*`(k, `*`(abs(`+`(y, `-`(`/`(`*`(`/`(1, 5), `*`(Pi)), `*`(k))))))), `-`(`*`(w, `*`(t))), `*`(`/`(1, 5), `*`(Pi)))), cos(`+`(`*`(k, `*`(abs(`+`(y, `-`(`/`(`*`(`/`(2, 5), `*`(Pi)), `*`(k)))...
(26)
 

> `assign`(w, 2); 1`assign`(k, `/`(1, 2))
 

 

2
`/`(1, 2) (27)
 

> `assign`(t, 't')
 

t (28)
 

> animate(welle, y = -20 .. 60, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), frames = 30, color = red, numpoints = 200)
 

Plot_2d

Es funktioniert! Aber wo sind die Wellen auf der negativen y-Achse geblieben? Haben wir das auch richtig programmiert? Eine Kontrolle wäre wohl angebracht: 

> `assign`(w, 2); 1`assign`(k, `/`(1, 2)); 1`assign`(t, 0)
 

 

 

2
`/`(1, 2)
0 (29)
 

> plot({seq(eval(subs(i = j, elem[i])), j = 1 .. n)}, y = -10 .. 10)
 

Plot_2d
 

> `assign`(t, 't')
 

t (30)
 

> animate({seq(eval(subs(i = j, elem[i])), j = 1 .. n)}, y = -20 .. 60, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), numpoints = 200)
 

Plot_2d

Alle Elementarwellen sind da! Aber die nach links laufenden können sich nicht einigen und löschen sich gegenseitig aus: Wellensalat!  Studieren Sie auch das Übergangsgebiet, also das Gebiet, in das Sie Zentren setzen (was kann man alles ändern?). 

Man kann den Sachverhalt "Verstärkung in Vorwärtsrichtung -- Auslöschung in Rückwärtsrichtung" auch noch etwas anders darstellen, allerdings etwas abstrakter, indem man sich die Phasen der Elementarwellen über dem Ort darstellen läßt. 

> `assign`(k, 'k')
 

k (31)
 

> `assign`(phi[i], `+`(`*`(k, `*`(abs(`+`(y, `-`(y0[i]))))), `*`(k, `*`(y0[i]))))
 

`+`(`*`(k, `*`(abs(`+`(y, `-`(y0[i]))))), `*`(k, `*`(y0[i]))) (32)
 

> `assign`(zuf, rand(1 .. 10)); 1`assign`(n, 5)
 

 

proc () `+`((proc () option builtin = RandNumberInterface; end proc)(6, 10, 4), 1) end proc
5 (33)
 

> for ii to n do `assign`(y0[ii], zuf()) end do
 

 

 

 

 

7
10
6
2
4 (34)
 

> `assign`(k, `/`(1, 2))
 

`/`(1, 2) (35)
 

> plot({seq(subs(i = j, phi[i]), j = 1 .. n)}, y = -10 .. 20, color = red)
 

Plot_2d

Für inkohärente Elementarwellen hätte man dagegen 

> `assign`(phi[i], `+`(`*`(k, `*`(abs(`+`(y, `-`(y0[i]))))), phi0[i]))
 

`+`(`*`(`/`(1, 2), `*`(abs(`+`(y, `-`(y0[i]))))), phi0[i]) (36)
 

> for ii to n do `assign`(phi0[ii], zuf()) end do
 

 

 

 

 

3
9
10
2
8 (37)
 

Die "Charakteristiken" wären beliebig verteilt 

> plot({seq(subs(i = j, phi[i]), j = 1 .. n)}, y = -10 .. 20, color = red)
 

Plot_2d
 

>
 

> `assign`(welle, sum(cos(`+`(phi[i], `-`(`*`(w, `*`(t))))), i = 1 .. n))
 

`+`(cos(`+`(`-`(`*`(`/`(1, 2), `*`(abs(`+`(y, `-`(7)))))), `-`(3), `*`(2, `*`(t)))), cos(`+`(`-`(`*`(`/`(1, 2), `*`(abs(`+`(y, `-`(10)))))), `-`(9), `*`(2, `*`(t)))), cos(`+`(`-`(`*`(`/`(1, 2), `*`(ab...
`+`(cos(`+`(`-`(`*`(`/`(1, 2), `*`(abs(`+`(y, `-`(7)))))), `-`(3), `*`(2, `*`(t)))), cos(`+`(`-`(`*`(`/`(1, 2), `*`(abs(`+`(y, `-`(10)))))), `-`(9), `*`(2, `*`(t)))), cos(`+`(`-`(`*`(`/`(1, 2), `*`(ab...
(38)

Und eine geordnete Bewegung könnte nur zufällig zustandekommen 

> `assign`(w, 2); 1`assign`(t, 't')
 

 

2
t (39)
 

> animate(welle, y = -20 .. 30, t = 0 .. `+`(`/`(`*`(4, `*`(Pi)), `*`(w))), frames = 30)
 

Plot_2d

Home

komma(AT)oe.uni-tuebingen.de