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

x-wert einer funktion bestimmen

 

tom

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2009, 20:23     Titel: x-wert einer funktion bestimmen
  Antworten mit Zitat      
ich habe zu messwerten einen gauss-fit gemacht. ich bekomme dann das:

gfit =

General model Gauss2:
gfit(x) = a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
Coefficients (with 95% confidence bounds):
a1 = 8.575 (5.314, 11.84)
b1 = -47.16 (-48.81, -45.5)
c1 = 12.27 (10.06, 14.49)
a2 = 108.1 (106.9, 109.4)
b2 = -61.21 (-63.04, -59.3Cool
c2 = 56.99 (54.46, 59.52)

nun geht es darum das maximum dieser kurve und den entsprechenden x-wert zu bestimmen. das maximum ist einfach:

maxYWert=max(gfit(x));

nun aber meine Frage: Wie bestimme ich den dazugehörigen X-Wert? Vielen dank.


Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 02.02.2009, 20:30     Titel:
  Antworten mit Zitat      
Code:
[maxYWert,maxIndex]=max(gfit(x));
disp(x(maxIndex))

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
tom

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2009, 20:43     Titel:
  Antworten mit Zitat      
besten dank für die schnelle antwort! super es klappt!
 
S.P.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2011, 14:01     Titel: gleiches Problem: finden des x-Wertes!
  Antworten mit Zitat      
Hi,

ich habe auch das Problem, dass ich den x-Wert vom zugehörigen y-Wert (bei dem sich das Maximum zwischen 7 und 1024/2 befindet) haben will. Die Funktion heißt bei mir abetrag!

Allerdings mit dem unten angeführten Befehl gibt mir Matlab einen falschen x-Wert!!
[ywert,xwert]=max(abetrag(7:1024/2))

Kann mir jemand sagen warum?
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.08.2011, 14:21     Titel:
  Antworten mit Zitat      
Da scheinst du was falsch verstanden zu haben...

Code:

[wert, index] = max(...)

% Der 2. Parameter ist also nicht der Wert sondern der Index (Stelle im Array) vom Maximum in abetrag.

[y_wert, index] = max(abetrag(7:1024/2))
 


Da du nun aber einen Offset von 7 hast, musst du dann index+6 rechnen, um den entsprechenden x_wert zu erhalten, wenn der Array mit den x-Werten von (1:1024/2) geht.

Code:

% z.B.
x_wert = x_werte(index+6);
 
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 15.08.2011, 11:35 Uhr von denny
Von Sonstige MATLAB Fragen nach Programmierung
 
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.