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

Nachbildung einer Weibullverteilung

 

paul777
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2015, 10:51     Titel: Nachbildung einer Weibullverteilung
  Antworten mit Zitat      
Moin,

ich habe folgendes Problem:

Ich möchte eine gegebene Verteilung mit MATLAB funktional nachbilden (Stichwort nichtlineare Anpassung). Es sind Datenpunkte vorhanden die einer Weibullverteilung folgen. Die Daten sind dabei bereits so aufbereitet, dass sie in Klassen eingeteil wurden und ich nun je klasse die jeweilige Betriebsdauer habe. (einer feinere Auflösung ist leider nicht möglich)
Code:


c =
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12

hours =

   1.0e+03 *

    1.1070
    2.4320
    1.8860
    1.0580
    0.6675
    0.3770
    0.1665
    0.1023
    0.0471
    0.0163
    0.0041
    0.0015


könnt ihr mir helfen diese Daten in die nlinfit-Funktion einzutragen? Ich komme damit leider überhaupt nicht zurecht Confused

mit freundlichem Gruß,

paul777
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

fitdist bietet die Möglichkeit, direkt eine Verteilung anzupassen. Wäre das eine Alternative?


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2015, 10:02     Titel:
  Antworten mit Zitat      
Hallo Harald,

nein leider nicht. Matlab berechnet mir dann quasi eine neue Verteilung aus den Daten (welche ja schon eine Verteilung sind). Und die Parameter für die wblpdf passen somit auch nicht:

Code:

pd=fitdist(y,'Weibull')

pd =

  WeibullDistribution

  Weibull distribution
    A =  437.085   [151.828, 1258.29]
    B = 0.562379   [0.351879, 0.898804


Ich denke es geht sicherlich durch nichtlineare Anpassung, dafür gibt es auch ein schönes Beispiel: http://de.mathworks.com/help/stats/.....distribution-fitting.html

Allerdings scheitere ich dort an der Stelle
Code:

h_gca = gca;
h = h_gca.Children;
h.FaceColor = [.98 .98 .98];
h.EdgeColor = [.94 .94 .94];
counts = hist(life,binCtrs);
 


Es wird mir die Meldung: Attempt to reference field of non-structure
array.
angezeigt, weiß jemand was das genau heißt?

Grüße,

Paul
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

mir ist nicht klar, inwiefern die Daten die Verteilung bestimmen.

Auf pd könntest du die Methode pdf anwenden:
Code:
pdf(pd, xWerte)


Welche MATLAB-Version nutzt du denn? Wenn es eine Version vor R2014b ist, dann solltest du dir auch die dazu passende Dokumentation ansehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2015, 10:28     Titel:
  Antworten mit Zitat      
Ich benutze R2014a.
Naja die daten sind eben schon eine Verteilung, ich habe mal eine Grafik angehängt. Mit der pdf Funktion komme ich da also nicht weiter. Ich möchte nun die Balken bzw. Punkte mit einer Weibullfunktion nachbilden.

mit freundlichem Gruß,

paul777
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2015, 10:33     Titel:
  Antworten mit Zitat      
hat wohl nicht geklappt Embarassed

Messdaten365.jpg
 Beschreibung:
das wären jetzt die Absolutwerte

Download
 Dateiname:  Messdaten365.jpg
 Dateigröße:  56.67 KB
 Heruntergeladen:  469 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2015, 11:39     Titel:
  Antworten mit Zitat      
Soo ich habe es in etwa hinbekommen Smile. Allerdings möchte ich die Kurve noch besser anpassen. Mein Skript sieht nun wie folgt aus:

Code:

plot(x,y,'o');
xlabel('Geschwindigkeitsklassen [m/s]');
ylabel('rel. Betriebsdauer [%]');
modelFun =  @(p,x) p(3) .* (x ./ p(1)).^(p(2)-1) .* exp(-(x ./ p(1)).^p(2));
startingVals = [10 2 3];
coefEsts = nlinfit(x, y, modelFun, startingVals);
xgrid = linspace(0,20,100);
line(xgrid, modelFun(coefEsts, xgrid), 'Color','r');


durch Verändern der Startwerte startingVals ergibt sich eine bessere oder schlechtere Anpassung.
Die optimalen Parameterkann man doch bestimmt berechen. Hat jemand eine Idee wie?

mit freundlichem Gruß,

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