Stokes Satz in Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo liebe Leute,
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Noch dazu möchte ich (soweit es geht) dass mir niemand die Lösung sagt sondern "hilft". Ich weiß das ist schwierig und falls ich damit zu viel verlangen sollte bin ich natürlich auch mit der Lösung zufrieden.
Also
Ich arbeite mit Matlab 2009b.
Ich möchte z.b. Folgendes machen: Ich will ein Vektorfeld, welches z.b. eine Luftströmung angibt. Dann möchte ich über einen bestimmten Bereich(eine Fläche) die "Luftwirbel" berechnen.
Dies möchte ich auf 2 Arten:
- Einmal den "Gesamtwirbel" um diesen Körper
- Einmal als Summe aller kleinen Wirbel in dieser Fläche
Hauptsächlich geht es darum, "Stokes Satz" mehr oder weniger zu "beweisen", aber ich würde es gerne anhand obigem Beispiel machen(wenn das nicht zu kompliziert ist)
#####
Meine Überlegungen sind Folgende:
Die "Wirbel" bekomme ich direkt über die Rotation(Nabla Operator x Vektorfeld)
also in Matlab über curl()
wenn ich
>wirbel=curl(x,y,z,u,v,w,startx,starty,startz)
eingebe bekomme ich werte die ich nicht interpretieren kann
Wenn ich mein Vektorfeld so "beschneide" dass ich es in lauter Ebenen zerlege, dann kriege ich über
>[a b]=curl(x,y,u,v)
auch werte die ich nur bedingt interpretieren kann: die wirbel müssen senkrecht zur behandelten fläche stehen, fangen je an den punkten x y an und haben eine länge...
was ist jetzt was? ich kriege 2 werte raus und bräuchte egtl 3
Bin für JEGLICHE Hilfe dankbar zur Lösung meiner Probleme
Edit:
So, also ich habe jetzt eine Funktion die mir ein zufälliges 3 Dimensionales Vektorfeld ausspuckt. Ich habe also x y z Startwerte und u v w welche die Richtung angeben. Das ganze wird mit quiver3(x,y,z,u,v,w) gemacht
Bin damit insgesamt zufrieden, aber ich finde keine einfache Möglichkeit eine Zufallszahl zwischen -1 und 1 zu generieren. Bisher erzeuge ich eine Zufallszahl zwischen 0 und 1 mit rand(1) und ziehe dann 0.5 ab... das scheint mir nicht sehr elegant
Dann klatsche ich mit surf() eine einfache schiefe Ebene in mein Feld, auch hierbei speichere ich die Koordinaten.
Jetzt scheitere ich Momentan daran dass ich die Elemente von meinem Vektorfeld bräuchte die meine schiefe Ebene betreffen.
Des Weiteren sind die Grenzen meines Vektorfeldes in etwa ein Würfel mit der Kantenlänge 4
Sobald ich Kantenlänge 30 oder mehr eingebe leidet die Performance extrem darunter.(Kantenlänge 4 heisst bei mir, dass meine Koordinaten x y und z je 5x5x5 double sind)
An alle die das gleiche Problem haben: macht doch ein bisschen Rückmeldung mit mir :) freue mich über jede Abwechslung
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:22 Sa 15.01.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|