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

Integration einer Funktion f(x,n) über x

 

Mandel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 30.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2009, 14:53     Titel: Integration einer Funktion f(x,n) über x
  Antworten mit Zitat      
Hallo zusammen ...

Ich fange gerade erst an mich mit Matlab zu beschäftigen, habe aber schon ein größeres Problem, welches ich bald gelöst haben muss.

Ich habe zwei Funktionen f1 und f2, welche sozusagen von zwei Variablen x und n abhängen. Diese sollen Multipliziert werden zu f(x,n) = f1(x,n)*f2(x,n). Anschließend soll f(x,n) über x in bestimmten Grenzen [a,b] integriert werden, sodass ich eine Funktion F(n) erhalte.

Im Endeffekt kann man das Integral als eine Art Faltung interpretieren, welche aber nicht von - bis + unendlich geht, sondern nur von a bis b. Aber ich denke das ist erstmal weniger wichtig.

Wie kann ich das am einfachsten realisieren?
Hab schon versucht mich ein wenig einzulesen, aber das hat mir noch nicht wirklich zu dem Problem weiter geholfen...

Ich würde mich sehr über ein paar Ratschläge freuen!

MfG
Mandel Smile

PS: Ich weiß nicht, ob es von Bedeutung ist, aber bei den Funktionen handelt es sich um Besselfunktionen erster Ordnung, welche durch ihr Argument geteilt werden (besselj(1,x)./x). Das ganze sieht dann einer Sinc-Funktion ähnlich. Dies führt zu einer Division durch 0. Eigentlich ist das analytisch nicht schlimm, da die Funktion dort trotzdem gegen 1 geht. Aber Matlab scheint das nicht zu mögen Rolling Eyes
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.10.2009, 16:26     Titel:
  Antworten mit Zitat      
Hallo,

Wenn als Ausgabe eine Funktion von n herauskommen soll, geht das nur über die Symbolic Math Toolbox. Integration dann mit Befehl INT.

Wenn eine Tabelle für verschiedene Werte von n ausreicht, kann man eine for-Schleife über diese Werte laufen lassen (so dass n bei jeder Iteration konstant ist). Integration dann mit Befehl QUAD.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 02.10.2009, 14:56     Titel:
  Antworten mit Zitat      
Hallo,

wie wäre es mit folgendem Ansatz?
Code:
a = ...;
b = ...;
F = @(n) quad(@(x) f1(x,n) .* f2(x,n), a, b);
 


Hab's nicht ausprobiert, müsste aber funktionieren. Ob was vernünftiges rauskommen (wegen der Problematik mit der Singularität) weiß ich nicht. Gegenenfalls können die "Verwandten" von quad ausprobiert werden, siehe Hilfe.

Ciao,
Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Mandel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 30.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.10.2009, 20:41     Titel:
  Antworten mit Zitat      
Danke für euere Meldungen!

Ja, es liegen die Werte für n for, für die ich die Funktion F benötige. Ich fürchte fast, dass bei der mir zur Verfügung stehenden Matlab-Version keine Lizenz für die Symbolic Math Toolbox dabei ist.
Ich werde mir beide Ansätze man anschauen und dann Berichten, wie's funktioniert hat.

Falls es noch weitere Ideen gibt, bin ich natürlich dafür offen. Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 06.10.2009, 10:49     Titel:
  Antworten mit Zitat      
Hallo,

nur zur Info: der Ansatz, den ich geschrieben hatte, braucht keine Symbolic Toolbox, ist rein numerisch ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 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.