|
lapricorn |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2016, 13:10
Titel: Doppeltes Integral
|
|
Hallo,
Es geht darum, das folgende Integral zu lösen:
y(z) = int(int(f(xi), xi=0..z-sigma)*h(sigma), sigma=0..z)
wobei f und h bekannte Funktionen sind. Ich habe folgenden Code der auch funktioniert:
Allerdings erscheint mir diese Lösung sehr unelegant. Gibt es vielleicht eine bessere (vermutlich mit integral2)?
Vielen Dank!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.09.2016, 13:42
Titel:
|
|
Hallo,
sehe ich auch so. Und eigentlich musst du dich nur an dem Beispiel mit der triangular region orientieren:
Grüße,
Harald
Zuletzt bearbeitet von Harald am 22.09.2016, 15:29, insgesamt einmal bearbeitet
|
|
|
lapricorn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2016, 13:54
Titel:
|
|
|
|
lapricorn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2016, 15:05
Titel:
|
|
Das ist vielleicht auf den ersten Blick/für den Anfänger etwas einfacher (wenn auch umständlicher).
Allerdings ist mir unklar, warum 'ArrayValued',true benötigt wird und welche Auswirkung es in diesem Fall hat.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.09.2016, 15:28
Titel:
|
|
Hallo,
integral versucht, die zu integrierende Funktion aus Effizienzgründen mit Vektoren zu füttern und erwartet einen Vektor gleicher Größe zurück. Wenn die Funktion so nicht aufgerufen werden kann --> 'ArrayValued',true
Ich habe gerade gemerkt, dass ich es komplizierter als nötig gemacht hatte, und den vorherigen Beitrag entsprechend editiert.
Grüße,
Harald
|
|
|
lapricorn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2016, 15:44
Titel:
|
|
Das habe ich mir gedacht, war aber etwas verwundert, warum dann aber kein Vektor am Ende rauskommt (siehe Beispiel in der Dokumentation).
Danke, so ist es sehr einfach, einleuchtend und sauber.
Jetzt möchte ich das ganze für die Dimension 2x1 für y implementieren: D.h.:
y(z) = int([1 0; 0 1]*int(f(xi), xi=0..z-sigma)*h(sigma), sigma=0..z)
mit h(z) in R^(2x1) in Pseudocode. Arrayvalued scheint von integral2 nicht unterstützt zu werden.
Ist das auch möglich?
|
|
|
lapricorn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2016, 07:11
Titel:
|
|
Und was ist, wenn f und h nur als diskrete Vektoren bzw. Matrizen vorliegen (mit interp1 Funktionen zu generieren scheint mir ungünstig)?
Nachtrag für den letzten Post: f ist hierbei natürlich eine skalare Funktion.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.09.2016, 07:44
Titel:
|
|
Hallo,
Zitat: |
warum dann aber kein Vektor am Ende rauskommt |
weil die Funktionsauswertungen für die Integralberechnung aufsummiert werden.
Zitat: |
Jetzt möchte ich das ganze für die Dimension 2x1 für y implementieren: D.h.:
y(z) = int([1 0; 0 1]*int(f(xi), xi=0..z-sigma)*h(sigma), sigma=0..z)
mit h(z) in R^(2x1) in Pseudocode. Arrayvalued scheint von integral2 nicht unterstützt zu werden.
Ist das auch möglich? |
Ich sehe da nur die Möglichkeit, die Integrale für die einzelnen Komponenten separat zu berechnen.
Wenn die Matrix konstant ist (d.h. unabhängig von xi und sigma), dann kann man sie aber auch vor das Integral ziehen.
Zitat: |
Und was ist, wenn f und h nur als diskrete Vektoren bzw. Matrizen vorliegen (mit interp1 Funktionen zu generieren scheint mir ungünstig)? |
Dafür ist dann trapz gedacht, das du ja eingangs verwendet hattest.
Grüße,
Harald
|
|
|
lapricorn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 19.12.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2016, 11:05
Titel:
|
|
|
|
|
|
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.
|
|