|
|
variable durch Integration(quad) eliminieren |
|
S3r4 |
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 20.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.02.2014, 14:59
Titel: variable durch Integration(quad) eliminieren
|
|
Hi
ich habe schon seit einer weile ein Problem mit der Integration mithilfe von quad:
Ich möchte in einer Funktion worin F ein skalar (wahre anomalie (Orbitmechanik)) und x ein Vektor (ähnlich den Kepplerelementen)
von Integrieren sodas F eliminiert wird.
Ich kann f berechnen lassen, es kommt auch ein Skalar raus. f ruft viele unterfunktionen auf, aber wie gesagt f hat einen skalaren Wert, sprich ist richtig implementiert.
Wenn ich nun mit hilfen von quad diese operation durchführen will:
quad(@(F) f(F,x),-pi,pi)
dann gibt er mir einen Dimension fehler in einer Unterfunktion
Error using /
Matrix dimensions must agree.
Error in dX1dk (line 10)
out=-x(1)*((x(2)*x(3)*b^3)/(1-b)*(x(2)*cF-x(3)*sF)+1+x(1)/r*sF*(-x(2)*b+sF));
Wie gesagt einfach nur ausgewertet funktionieren alle Funktionen wunderbar. Jemand eine Idee woran das liegen kann? Bzw wie ich es umgehen kann.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.02.2014, 17:27
Titel:
|
|
Hallo,
quad versucht, die Funktion für einen Vektor von F-Werten auszuwerten. Deine Funktion ist vermutlich nicht dafür geeignet.
Vorschlag:
Falls ich damit einen Knoten in mein und/oder dein Gehirn gemacht habe, hier eine etwas ausführlichere Alternative des Gedankens: definiere eine Funktion g folgendermaßen:
und ersetze dann in deinem Befehl f durch dieses g.
Es kann wie gesagt sein, dass ich beim ersten Ansatz einen Denkfehler drin habe. Von meiner Idee her sollte aber beides gleichwertig sein.
Übrigens: seit ein paar Releases gibt es integral als Nachfolgefunktion zu quad. Sofern integral im verwendeten Release verfügbar ist, sollte man das nutzen.
Grüße,
Harald
|
|
|
S3r4 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 20.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.02.2014, 18:19
Titel:
|
|
hm ich verstehe nicht ganz was du da tun willst. ;(
du wertest die Funktion an einer Reihe von F werten aus?
Um damit eine Summe zu bilden???
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.02.2014, 19:07
Titel:
|
|
Hallo,
nein, keine Summe. Wo sollte die auch sein?
quad erwartet wie gesagt eine Funktion, die einen Vektor von F-Werten entgegennehmen kann und dann einen Vektor entsprechender Funktionswerte zurückgibt - das ist deine Funktion f wohl nicht, aber man kann leicht eine Funktion g schreiben, die das erfüllt.
Probier das doch mal aus. Wenn es funktioniert, kann ich gerne weitere Erläuterungen geben. Wenn nicht, poste bitte, welche Fehlermeldung du erhältest.
Grüße,
Harald
|
|
|
S3r4 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 20.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.02.2014, 21:17
Titel:
|
|
Top danke ja werde es morgen versuchen wollte nur, damit ich was lerne, wissen was die idee ist. Danke für die Hilfe.
|
|
|
|
|
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.
|
|