www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Probability Density Function
Probability Density Function < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Probability Density Function: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:09 Mo 10.01.2011
Autor: Leucram

Aufgabe
Datengrundlage:  28 Messwerte (Breitenmaße im Meter) in einer 28x1 Matrix
Ziel:  Probability Density Function inklusive Messwerte und geplottete Kurve durch Messwerte




hi,

ich bin leider eher ein Leihe in Matlab, deshalb brauche ich rat.
die 28 Messwerte habe ich nach der Groeße (in m) sortiert, und moechte
a) eine Schleife, die 5 Messwerte zusammenfasst, daraus den mean() und den range() ermittelt, dann 5/range() teilt (=die Density) und die gesamten 28 Daten durchläuft
b) ein Plott, indem die Densitywerte (5/range) am mean-Wert geplottet sind. und noch eine Kurve durch alle Punkte.

PS: ich arbeite auch selber zeitgleich an der Lösung meiner Aufgabenstellung

vielen Dank für die Hilfe schon im Vorraus


sortedWidth sind meine Daten

%  1.Laufvariable l deklarieren
l = 5;                
for i = 1:length(sortedWidth);
    a = sortedWidth(i:l,1);
    [mm] mean_a [/mm] = mean(a);
    [mm] range_a [/mm] = range(a);
    t = 5 / [mm] range_a; [/mm]
    [mm] plot(mean_a,t) [/mm]
    hold on
    xlabel('Width [m]');
    ylabel('probability density');
    l = l+1;
end

aber es klappt noch nicht ganz mit dem Plot, zudem muss noch:
- auf 1 skaliert bzw normalisiert werden
- Kurve durch die Punkte

        
Bezug
Probability Density Function: Antwort
Status: (Antwort) fertig Status 
Datum: 12:03 Di 11.01.2011
Autor: wieschoo

Hi,

ich verstehe noch nicht ganz, was du als normieren bezeichnest. Ich hoffe der Quelltext hilft dir ein bisschen weiter.
1: % Dummymessdaten
2: sortedWidth = [12 13 15 16 18 19 20 21 23 25 27 29 34 37 46 5 8 68 77 89 90];
3:
4: % Laenge fuer range...
5: l = 5;   
6: xlabel('Width [m]');
7: ylabel('probability density');
8:
9: hold on;
10: %Datenmatrix fürs plotten
11: data=zeros(length(sortedWidth),2)
12: for i = 1:length(sortedWidth);
13:     ende = i+l;
14:     if ende>length(sortedWidth) 
15:         ende = length(sortedWidth) ; % damit man nicht auf daten zugreift, die außerhalb der Messdaten sind
16:     end
17:     a = sortedWidth(i:ende);
18:     mean_a = mean(a);
19:     range_a = range(a);
20:     t = 5 / range_a;
21:     data(i,:)=[mean_a,t];
22: end 
23: data %Kurvendaten ausgeben
24: p=plot(data(:,1),data(:,2));
25: % Messdaten plotten
26: plot(sortedWidth);
27: set(p,'Color','red','LineWidth',1);
28:
Den gibt es auch noch einmal als Copy-Paste hier []http://www.sourcepod.com/lhjmje99-4110

Mit
1:
2: axis([0 sortedWidth(length(sortedWitdh)) 0 1])

Kann man die Achsen strecken und skalieren.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]