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 von exp(-y*x^2) in Matlab

 

Benjamin Nels

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 09:56     Titel: Integration von exp(-y*x^2) in Matlab
  Antworten mit Zitat      
Hallo Leute,

ich würde gerne die Funktion f=exp(-x.^2) in den Grenzen 0 bis 1 nummerisch in Matlab berechnen.

Das klappt soweit ganz gut mit dem quad-Befehl und als Ergebnis erhalte ich 0.74.. raus, so wie es sein soll.

Doch nun meine Frage:

Wie berechnet man die Funktion f=exp(-y*x.^2), wobei y eine Konstante ist??

Weiß das jmd oder kann mir jmd helfen?


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2015, 09:59     Titel:
  Antworten mit Zitat      
Hallo,

bitte immer den bisherigen Code angeben und welche Probleme bei deinen Versuchen aufgetreten sind. Wenn du das eine geschafft hast, sollte das andere an sich auch kein großes Problem sein.
In neueren MATLAB-Versionen sollte man integral statt quad verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin Nels

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 10:03     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

bitte immer den bisherigen Code angeben und welche Probleme bei deinen Versuchen aufgetreten sind. Wenn du das eine geschafft hast, sollte das andere an sich auch kein großes Problem sein.
In neueren MATLAB-Versionen sollte man integral statt quad verwenden.

Grüße,
Harald



Hallo Harald,

hier der code:


>> f='exp(-x.^2)'

f =

exp(-x.^2)

>> quad(f,0,1)

ans =

0.7468

>>


Das passt soweit! Wenn ich nun folgendes mache:

>> f='exp(-y*x.^2)'

f =

exp(-y*x.^2)

>> quad(f,0,1)
Error using inline/subsref (line 12)
Not enough inputs to inline function.

Error in quad (line 67)
y = f(x, varargin{:});

>>


Dann gibt es eine Fehlermeldung.

Wie berechne ich aber nun
exp(-y*x.^2) numerisch? Bzw. wie kann ich Matlab hier mitteilen, dass die Variable y als Konstante betrachtet werden soll und nach x zu integrieren ist?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2015, 10:11     Titel:
  Antworten mit Zitat      
Hallo,

du verwendest eine veraltete, nicht mehr dokumentierte Syntax. Das ist grundsätzlich nicht empfehlenswert. Stattdessen:

Code:
y = 1;
f = @(x) exp(-y * x.^2);
integral(f, 0, 1)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin Nels

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 10:14     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

du verwendest eine veraltete, nicht mehr dokumentierte Syntax. Das ist grundsätzlich nicht empfehlenswert. Stattdessen:

Code:
y = 1;
f = @(x) exp(-y * x.^2);
integral(f, 0, 1)


Grüße,
Harald


Hallo Harald,

genau das ist das Problem:

ich möchte y als symbolische Variable haben und nicht dem Wert 1 zuweißen.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2015, 10:22     Titel:
  Antworten mit Zitat      
Hallo,

wenn du eine symbolische Variable haben willst, dann musst du auch symbolisch integrieren.

Code:
syms x y
int(exp(-y*x^2), x, 0, 1)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin Nels

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 10:32     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

wenn du eine symbolische Variable haben willst, dann musst du auch symbolisch integrieren.

Code:
syms x y
int(exp(-y*x^2), x, 0, 1)


Grüße,
Harald


Hallo Harald, leider funktioniert das aber so nicht.

Worauf ich hinaus will, ist eig. die Tatsache, dass ich gerne diesen 5-fach Integral in meinem vorherigen Post berechnen möchte.

Daher wollte ich das problem erst mal auf ein kleineres Problem runterbrechen, aber das klappt leider nicht.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2015, 10:36     Titel:
  Antworten mit Zitat      
Hallo,

bei deinem 5-fach Integral habe ich dich ja darauf hingewiesen, dass nur eine numerische Integration möglich sein wird, und dich auch auf die dafür verwendbare Funktion verwiesen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Benjamin Nels

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 11:14     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

bei deinem 5-fach Integral habe ich dich ja darauf hingewiesen, dass nur eine numerische Integration möglich sein wird, und dich auch auf die dafür verwendbare Funktion verwiesen.

Grüße,
Harald


Lieber Harald, das problem bei meinem 5-fach integral ist aber, dass ich keinen Zahlenwert erhalte.

Ich erwarte, nach numerischer Auswertung meines 5-fach Integrals einen Zahlenwert.

Dies ist aber leider nicht der Fall, weswegen ich daher annehme, dass an meinen Code was nicht stimmt.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2015, 11:28     Titel:
  Antworten mit Zitat      
Hallo,

hast du es denn mit der verlinkten Funktion versucht? Hier ist sie nochmal:
http://www.mathworks.com/matlabcent.....xchange/47919-integraln-m

Wenn nein: was hält dich davon ab?
Wenn ja: wie hast du die Funktion verwendet (Code!), und welche Probleme gab es dabei?

Grüße,
Harald
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.