www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathematica" - Contourplot numerischer Funkt.
Contourplot numerischer Funkt. < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Contourplot numerischer Funkt.: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:14 Mi 16.02.2011
Autor: JackyJay

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Hallo zusammen ich habe eine Frage:

Ich muss ein Differentialgleichungssystem lösen, welches keine
analytische Lösung hat. Dazu benutze ich NDSolve.
In dem System befindet sich noch ein zusätzlicher Parameter w, den ich
gerne variieren möchte.
Am ende möchte ich nämlich einen Contourplot zeichnen mit x-achse die
zeit (x) und y-achse den anderen parameter(w).
Es sieht ungefähr so aus:
NDSolve[{y1'[x] == f (y1[x], y2[x], w, ...),
   y2'[x] == f (y1[x], y2[x], w, ...),
   ...
   y1[0] == 1, y2[0] == 0, ...}, {y1, y2, ...}, {x, 0, 100}];
     Die Funtion f ist einfach eine beliebige Funktion, die von den
anderen y und eben dem parameter w abhängt.

Ich habe 2 ansätze versucht, komme aber bei beiden nicht so richtig weiter:
1. Ansatz
Ich benutze eine for schleife und variere den parameter w, wie ich es
möchte.
Ich bekomme dann die Lösung abhängig von w ( y1[w],y2[w],...) und jedes
y[w] ist natürlich auch noch von x abhängig.
Jetzt weiss ich aber nicht wie ich das in einen plot bekomme. Also z.b. y2[x,w].

2. Ansatz
Die 2. idee kommt aus der Hilfe:
NDSolve[eqns,y,{x,Subscript[x, min],Subscript[x, max]},{t,Subscript[t,
min],Subscript[t, max]}]
Damit sollte es doch eigentlich gehen.
Also angewandt auf mein Beispiel :
NDSolve[{y1'[x] == f (y1[x], y2[x], w, ...),
   y2'[x] == f (y1[x], y2[x], w, ...),
   ...
   y1[0] == 1, y2[0] == 0, ...}, {y1, y2, ...}, {x, 0, 100},{w,0,1}] Oder
NDSolve[{y1'[x] == f (y1[x], y2[x], w, ...),
   y2'[x] == f (y1[x], y2[x], w, ...),
   ...
   y1[0] == 1, y2[0] == 0, ...},y4, {x, 0, 100},{w,0,1}]
Im ersten Fall geb ich alle y aus im 2. Fall nur das gewünschte y4.
Allerdings bekomme ich bei beiden die Fehlermeldung:

NDSolve::derlen: The length of the derivative operator Derivative[1] in
[mm] (y4^\[Prime])[x] [/mm] is not the same as the number of arguments. >>

Hat da jemand eine idee?

        
Bezug
Contourplot numerischer Funkt.: Antwort
Status: (Antwort) fertig Status 
Datum: 13:45 Di 22.02.2011
Autor: halirutan

Moin,

mehrere Sachen, damit die Methode funktioniert

1. Du musst wissen, dass NDSolve die DGL mit allen Parameterwerten im gewuenschten Intervall loesen kann. Ansonsten fliegt dir der ContourPlot um die Ohren.

2.  Weil hier bei jedem Punkt (x,w) neu integriert werden muss sollte man vielleicht ueberlegen, ob man nicht lieber Datenpunkte erzeugt und ListContourPlot nimmt.
Nehmen wir an, du willst dir eine Matrix erstellen, in der dann die Funktionswerte fuer verschiedene Werte (x,w) stehen, dann kannst du jede Zeile ausrechnen indem du 1x NDSolve benutzt, eine Funktion erhaelst und die an allen Punkten x abtastest. Dann nimmst du den naechsten Wert w und machst das gleiche. So musst du fuer jede Zeile nur einmal integrieren.

Ansonsten geht es wie folgt. Bau dir eine Funktion, die ein Wertepaar (x,w) bekommt und dann deine DGL fuer dieses spezielle w von 0 (oder von wo auch immer) bis x integriert. Dann gibst du den Punkt f(x,w) zurueck, indem du die Werte in die erhaltene Interpolationsfunktion einsetzt. Fuer das erste Beispiel aus der Hilfe zu NDSolve ergibt sich dann sowas wie

1: fc = Compile[{{x, _Real}, {w, _Real}}, 
2:   Block[{xx, 
3:     yy}, (yy /. 
4:       First@NDSolve[{yy'[xx] == yy[xx] Cos[w*xx + yy[xx]], 
5:          yy[0] == 1}, yy, {xx, 0, x}])[x]
6:    ], RuntimeOptions -> "Speed"]
7: f[x_?NumericQ, w_?NumericQ] := fc[x, w]
8:
9: ContourPlot[f[x, w], {x, 2, 5}, {w, 2, 5}]


[Dateianhang nicht öffentlich]

Cheers
Patrick


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de