WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

unbestimmte Integration bei mehreren Variablen

 

Fafner
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2011, 23:45     Titel: unbestimmte Integration bei mehreren Variablen
  Antworten mit Zitat      
Hallo,
es gibt dieses Thema so ähnlich hier zwar schon, aber die threads sind alle sehr alt und keine der Antworten ist für mich umzusetzen.

Es geht darum, dass ich eine Funktion habe, in der mehrere Variablen vorkommen. Ich möchte gerne nach einer der Variablen integrieren. (Das ist Teil einer dreifach-Integration, aber das kann man ja schön Schritt für Schritt machen).

Es wäre echt sehr hilfreich, wenn jemand mal als Antwort hinschreiben könnte, wie er es programmieren würde. Deshalb liefere ich ein einfaches Besipiel.

f(x,y) = 2x + y

...nach x integriert sollte rauskommen:

F(x,y) = x^2 + xy


Wie lass ich das MatLab machen? Bisher steht bei mir:
syms x y
f = 2*x + y
...

Wie gehts weiter? Nicht hilfreich ist: F = int(f).
Es wäre toll, wenn jemand eine nachvollziehbare Lösung hier hinschreiben könnte.
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 07:34     Titel:
  Antworten mit Zitat      
Code:

F = int(f,x)
 


Einfach als zweites Argument den Namen der Variable übergeben die du integrieren möchtest. weitere Beispiele findest du in der Dokumentation.

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 12:24     Titel:
  Antworten mit Zitat      
Danke, aber das hab ich bereits versucht, da kommt dann folgendes heraus:

F = (2*x + y)^2/4

nochmal anders ist das

F = x^2 + xy + y^2/4


...am Anfang sehr schön, nur das y^2/4 is halt zu viel...ich kann also nicht sagen, was der da macht.
Andere Ideen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 13:37     Titel:
  Antworten mit Zitat      
Code:

syms x y
f = 2*x + y
F = int(f,x)
 


liefert bei mir


Code:

F = x^2+y*x
 


allerdings ist F = (2*x + y)^2/4 auch eine Stammfunktion von f = 2*x + y. Also alles richtig.
Private Nachricht senden Benutzer-Profile anzeigen
 
Scriptor
Forum-Century

Forum-Century


Beiträge: 217
Anmeldedatum: 22.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 13:49     Titel:
  Antworten mit Zitat      
Ich bekomme das gleiche Ergebnis wie Fafner. richtigerweise gehört ja ein gewisser Rest, nennen wir ihn c, dazu. Richtig wäre es trotzdem. Deswegen ginge das Ergebnis ja so, aber wie kommt der auf dieses y^2/4?
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 14:49     Titel:
  Antworten mit Zitat      
Genau das ist die Frage, Scriptor. Wenn Matlab einfach ein "+c" ranhängen würde, von mir aus...aber solche Terme find ich unverständlich.

Schließlich will ich nicht sowas hier integrieren, sondern komplizierte Sachen, die nicht durch draufgucken zu lösen sind. Und dann wird so ein kryptisches Anhängsel ein Problem, zumal ich befürchte, dass es nicht bei einem solchen Restterm bleibt.

Und nun die alles entscheidende Frage:
Warum verursacht MatLab bei Scriptor und mir etwas anderes als bei Thomas ... wenn doch die Eingangsdaten identisch sind ?! *seufz*
Private Nachricht senden Benutzer-Profile anzeigen
 
Scriptor
Forum-Century

Forum-Century


Beiträge: 217
Anmeldedatum: 22.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 15:05     Titel:
  Antworten mit Zitat      
Der Befehl ver gibt mir aus das ich (Matlab 2010a) die smybolic Math toolbox 5.4 habe..vll liegts ja daran.Vll kann Herr Goser die Frage klären, falls es was Matlab internes ist. Die Hifle gibt mir auch nichts was darauf hinweisen könnte.

Probiert mal ob bei einer Intervallbeschränkung 0 und 1 z.B. auch y + 1 rauskommt.

Mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 15:27     Titel:
  Antworten mit Zitat      
Ich versteh das Problem nicht. Matlab gibt eine Stammfunktion der Funktion aus. Das Ergebnis ist natürlich nicht eindeutig.
Wenn du das Integral berechnen willst musst du noch die Grenzen angeben. Dieses Ergebnis ist dann natürlich eindeutig.
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2011, 16:18     Titel:
  Antworten mit Zitat      
Du hast Recht, am Ende will ich da Integralgrenzen ransetzen. Aber dennoch interessiert mich das unbestimmte Integral.

Das Problem ist, dass ich nicht so einfache Integrale lösen will. Aber selbst zu unsrem beispiel fällt mir ein gravierendes Problem ein.
Sagen wir, ich hätte nach x integriert.

Dann gibt mir mein MatLab (wie wir mittlerweile wissen) aus:

F = x^2 + xy + y^2/4

Ich möchte nun diese Stammfunktion nach y integrieren.
Du wirst zugeben müssen, dass da jetzt was anderes rauskommen wird, als beim Integral ohne den y-behafteten Restterm... da kann ich Grenzen einsetzen wie ich will, das Zweifach-Integral ist nach dieser Prozedur falsch.

Aber hey, gibt es vielleicht ne sinnvolle Funktion in MatLab zu Mehrfachintegralen... dass ich sowas sagen kann wie "erst nach x, dann nach y integrieren", damit solche Resttermfehler nicht passieren können?
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2011, 10:05     Titel:
  Antworten mit Zitat      
Das sind keine Fehler. Die Stammfunktion ist einfach nicht eindeutig. Im mehrdimensionalen kann man nicht so einfach Grenzen einsetzen, sondern muss über den Rand der Stammfunktion integrieren.

http://de.wikipedia.org/wiki/Fundam.....onale_Verallgemeinerungen

Das Resultat dieses Integrals ist dann unabhängig von diesen "Resttermen".
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2011, 13:15     Titel:
  Antworten mit Zitat      
Okay, also ich werde es heute probieren, indem ich bei jeder Integration sofort die Integralgrenzen einsetze.

Mir ist ja klar, dass so ein Integral nicht eindeutig ist, wenn man keine Grenzen einsetzt. Ich fänds immer noch besser, wenn mein Matlab dasselbe ausgeben würde wie deins... oder den Resterm einfach mit "c" oder irgend nem anderen, nicht verwendeten Buchstaben beschreibt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2011, 14:43     Titel:
  Antworten mit Zitat      
Ich habe nun meinem matLab ein kompliziertes Integral zu fressen gegeben und Versuche gestartet dieses zu integrieren.
Immer mit Integralgrenzen.

Das Ergebnis: "Warning: Explicit integral could not be found."
Schöne scheiße.

Keine Ahnung, woran es liegt.
Ich hab dann spaßeshalber doch noch mal das unbestimmte Integral ausrechnen lassen. Das ging.
Zur Überprüfung hab ich diese Integral wieder differenziert (natürlich nach der einen Variable, nach der ich zuvor integriert hab).
Und MatLab macht wieder eine Ausgabe. Nur ist das, was jetzt rauskommt ein Term, der anders aussieht als meine Ausgangsfunktion.

Ich hab noch nicht überprüft, ob man durch geschicktes zusammenfassen jenes Terms doch wieder auf den der Ausgangsfunktion kommt. Aber irgendwie hab ich da keine große Hoffnung...

Zusammengefasst:
- bestimmtes Integral kann nicht gefunden werden
- Ableitung der Stammfunktion ungleich der ursprünglichen Funktion

???

Falls jemand eine Idee hat, was das soll oder was ich falsch gemacht hab, hier mal der Code für die Integrationen:
Code:

syms v b n z w r
                       
R = 8046.72*10^3;
h = 48.28032*10^3;
                       
f = (n)/(sqrt(r^2+n^2-2*r*n*(cos(w)*cos(b)+sin(w)*sin(b))+(z-v)^2))

Fv = int(f,v,0,h)

Fvb = int(Fv,b,0,2*pi)

Fvbn = int(Fvb,n,0,R)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2011, 08:00     Titel:
  Antworten mit Zitat      
Tja, irgendwann steigt auch Matlab (Maple) aus. Vielleicht ist es besser die Funktion numerisch zu integrieren. Zum geschickten Zusammenfassen kannst du übrigens simplify verwenden. Dann kommt wahrscheinlich nach der Differentation der Stammfunktion auch wieder deine ursprüngliche Funktion herraus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Fafner
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2011, 11:31     Titel:
  Antworten mit Zitat      
Der simplify-Befehl is ne gute Idee, leider hab ich den schon angewendet...ohne Erfolg.
Ebenso hab ich das numerische Integrieren versucht, da gibts ja einige verschiedene Befehle. Jedoch hab ich keine Anleitung gefunden, die mir sagt, wie ich meine 3 anderen Variablen weiterhin drin behalten kann... denn offensichtlich (und das sagt ja eigtl. auch der Name schon) kommt beim numerischen Integrieren immer eine Zahl hinten raus. Und das bringt mir nix.

Oder ist es ganz anders und das geht trotzdem MIT Variablen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2011, 12:12     Titel:
  Antworten mit Zitat      
mit triplequad kannst du zumindest Funktionen die von 3 Variablen abhängen integrieren. Für noch mehr Variablen fällt mir spontan auch nicht sein.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.