|
|
Doppelintegral gibt fälschlicherweise negativen Wert aus |
|
gast_83 |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2017, 16:54
Titel: Doppelintegral gibt fälschlicherweise negativen Wert aus
|
|
Hallo Leute,
Ich muss folgendes Integral lösen:
int_0^eta (x^(-10)*exp(8/x) * (int_0^x y^(-8)*exp(-8/y)dy) )dx
wobei der Wert für eta unten steht.
Ich versteh nicht, wieso ich immer eine negative Fläche bekomme.
Außerdem bekomm ich, wenn ich für das äußere Integral als untere Grenze 0 nehme immer den Hinweiß auf Singularität, daher habe ich im Code 0.1 verwendet.
Ich wäre für jede Hilfe dankbar!
Code:
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.12.2017, 17:13
Titel:
|
|
Hallo,
warum setzt du die untere Integrationsgrenze auf 0.1?
Wenn du von 0.1 bis 0.04 integrierst, dann integrierst du quasi rückwärts, und somit wird das Integral negativ.
Grüße,
Harald
|
|
|
gast_83 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2017, 17:20
Titel:
|
|
Danke für die Antwort!
Wenn ich die Integrationsgrenze bei 0 lasse, gibt mir matlab immer das folgende aus:
Warning: non finite result. the integration was unsucessful. Singularity likely.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.12.2017, 18:56
Titel:
|
|
Hallo,
wenn du ein Integral berechnen willst, dann kannst du doch nicht die Integralgrenzen so gravierend ändern? Meinetwegen 1e-16 statt 0, aber doch nicht 0.1?
Solche Fehlermeldungen haben ja ihren Grund. Wenn x -> 0, geht der Integrand gegen unendlich. Sollte das vielleicht -8 statt 8 sein in exp(8/x) ?
Grüße,
Harald
|
|
|
gast_83 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2017, 19:35
Titel:
|
|
Hey,
nein die 8 stimmt da schon.
Ich habe die 0.1 nur zufällig gewählt, um mal auszuprobieren, ob mein Programm überhaupt mal funktioniert und was sinnvolles ausgibt.
Ich kenn mich nur nicht sonderlich gut mit Matlab aus und dachte vielleicht gibts da irgendeine Möglichkeit das Integral abzuschätzen.
Hab jetzt vpaintegral gefunden, dann bekomm ich immerhin einen Wert raus, wenn auch nicht den ganz korrekten.
Aber vielen Dank für die Hilfe und wenn du noch einen anderen Tipp hättest zum Abschätzen, wäre ich dir sehr dankbar.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.12.2017, 19:51
Titel:
|
|
Hallo,
was soll denn der korrekte Wert sein? Wie rufst du vpaintegral auf?
Da die Funktion extrem schnell nach unendlich läuft, würde ich vermuten, dass das Integral auch unendlich ist. Symbolisches Integrieren bestätigt die Vermutung:
Grüße,
Harald
|
|
|
gast_83 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2017, 20:04
Titel:
|
|
Hey,
naja ich muss das aus einem Paper nachbauen und die haben als Wert 0.04019536, also auch eine Abschätzung auf 8 Nachkommastellen.
Mir ist auch grad aufgefallen, dass ich bei die Hochzahl am y das falsche Vorzeichen geschrieben habe, sollte eigentlich y^8 heißen.
Und vpaintegral nutze ich so:
syms x y
vpaintegral(vpaintegral(x.^(-10).*exp(8./x).*y.^(.*exp(-8./y), y, [0 x]), x, [0 eta]);
Und jetzt setz ich die Toleranz hoch, um ein genaueres Ergebnis zu bekommen.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2024
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.
|
|