PDA

View Full Version : [Frage] erster Übungsblock Bsp1_Matrizen


roogi
17-10-2007, 14:06
puuh.. da gabs lange keinen neuen thread.. iregendwie deprimierend...
dann beginne ich mal wieder... scheint als wäre ich der einzige der sich gleich beim Bsp1 nicht so toll auskennt...
also mich würde interessieren wie soll ich mit dieser f(x,y) Funktion umgehen.. wie ich diese Definieren soll, und dann in der For-schleife richtig berrechnen soll...
iregendwie habe ich auch die schwierigkeiten zu verstehen worum es in der sin() klammer geht, genauer gesagt das mit den (u0_x + v0_y) soll das sein u0*x oder u0(x),.. wie soll man damit umgehen???


P.S. sehe das Matlab zum ersten mal.. habe einige TUTs durchgemacht nun stehe ich aber beim 2ten Bsp auf der leitung :tongue1:

soymilk-drinker
17-10-2007, 14:18
Definieren brauchst du das als Funktion an sich gar nicht. Es reicht wenn du in einer doppelten for-Schleife einfach alle x/y-Paare durchgehst und das Ergebnis berechnest (gegebenenfalls in einer Matrix speichern)

Das im Sinus bedeutet natürlich u0*x + v0*y

Spite82
04-11-2007, 12:34
Obwohl schon alt:
Kanns sein, das der Geschwindigkeitsvorteil eigentlich (fast) nur daraus resultiert, dass bei den for Schleifen die Größe des Variablen steigt?
Denn wenn ich das einmal durchlaufen lasse und (ohne die Variablen davor zu löschen) dann ein 2.mal, ergeben sich keine allzu großen Unterschiede bei mir von der Berechnungsdauer her....
Stimmt das so, oder hab ich wiedermal was falsch?
(der meshgrid Befehl dient ja eigentlich nur dem Erstellen der Matrix oder??)

Lg
Spite

buschti
06-11-2007, 14:17
Ja, Du hast recht, wenn man die Matrix vorher schon erstellt hat (z.B. mit zeros() oder wenn man das ganze ein zweites mal durchlaufen läßt), ist der Geschwindigkeitsunterschied minimal.
Trotzdem sollte man immer for-Schleifen vermeiden, da der Geschwindigkeitsunterschied bei größeren Matrizen und komplexeren Berechnungen schon deutlicher wird.

LG
Sebastian (GDBV-Tutor)