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

Integral Berechnung Gaussfunktion

 

Ifle

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 10:06     Titel: Integral Berechnung Gaussfunktion
  Antworten mit Zitat      
Hallo liebe Matlab-Profis,

ich bin relativ neu in der Matlab Umgebung unterwegs und habe doch noch einige Probleme in der Umsetzung meiner "auf-dem-Papier" - Vorstellungen. Deshalb hier jetzt der Versuch, Hilfe und Antwort zu finden. Smile

Ich habe eine Gaussfunktion geschrieben, die so aussieht:

Code:
   

% Input data e.g.:
% xrange = 0:0.1:20
% a = 90
% b = 10
% sigma = 4
%
% a = amplitude/ height of the curve's peak
% b = x position of curve centre/ peak
% sigma = standard deviation
% xrange = input data range & step
% e = euler number

e = vpa(sym('exp(1)'),50); % calculate euler number  
G = a*e.^-(((xrange-b).^2)/(2*(sigma^2))); % gaussian function
 


Nun möchte ich gerne folgendes machen:
1. Das Integral der Funktion bestimmen um
2. in einem von mir vorher definierten x- UND y-Bereich die Fläche zu bestimmen, und
3. diese im Idealfall im gleichen Plot zu visualisieren.

Mein erster Versuch sah so aus (für x-Bereich 4<x<6, aber da stimmt irgendwas mit dem Ergebnis nicht und die y-Bedingung konnte ich nicht einbauen...

Code:

area = quad(@(x)'a*e.^-(((xrange-b).^2)/(2*(sigma^2)))', 4,6);
 


Irgendwie komme ich mit den verfügbaren "quad, diff, int"-Befehlen nicht wirklich klar... Sad

Wäre für Hilfe wirklich sehr dankbar!
Mit besten Grüssen,
Ifle


Ifle

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 11:50     Titel:
  Antworten mit Zitat      
Mhm - habe das Ganze jetzt mit "trapz" probiert. Das gibt auch mehr oder weniger plausible Werte aus. Allerdings variieren die Ergebnisse massiv in Abhängigkeit vom X:

Code:

a = 20; b = 10; sigma = 5; %a=amplitude, b=curve center, sigma = stdv
e = vpa(sym('exp(1)'),50); % calculate euler number  
xrange = 0:20;
G = a*e.^-(((xrange-b).^2)/(2*(sigma^2))); % gaussian function
X = xrange;
Z = trapz(X,G);
Z
 


Wenn ich xrange auf 0:0.1:20 bzw auf 0:0.01:20 erhalte ich natürlich stark abweichende Werte. Wovon mache ich diesen xrange - Wert abhängig? Und wie kann ich baiserend auf diesem Ansatz auch den y-range definieren?

Besten Dank Smile
 
MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 20:08     Titel:
  Antworten mit Zitat      
du darfst natürlich nicht vergessen mit dx, deinem intergrationsintervall, zu multiplizieren, das erklärt wahrscheinlich deine massiv unterschiedlichen werte...bezüglich der Region ist denk ich dblquad die funktion der wahl, aber warte lieber was die experten hier sagen Wink

gruß
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 - 2025 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.