|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 14:23
Titel: Standardabweichung
|
 |
Ich möchte gerne feststellen, ob in meiner Array X Werte aufeinander folgen.
Eine mögliche Lösung konnte mit der unteren Lösung realisiert werden, doch wie kann ich es mit Standardabweichung realisieren?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 14:29
Titel:
|
 |
Hallo,
ich gehe von
aus.
Dein Code liefert einen Vektor von Nullen zurück.
Auf den ersten Blick verstehe ich nicht, was dein Code auf anderen Daten machen soll und was das mit Standardabweichung zu tun haben könnte.
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:07
Titel:
|
 |
Sorry, habe das Beispiel nicht vollständig gepostet. Wie schon gesagt, ich möchte gerne feststellen, ob in meiner Array X Werte aufeinander folgen.
Mit der unteren Lösung bekomme ich eine Array zurück, wo die einsen die aufeinander identischer Werte darstellen.
Jetzt wollte ich noch mit Standardabweichung ausprobieren?
[code]A = [-38 -30 -30 -30 -30 -30 -15 0 1 2 3 4.5 4.5 4.5 4.5 4.5 3 2 10 5 40];
X=4;
[code]T2 = strfind([false, diff(A) == 0, false], [false, true(1, X), false]);
R2 = zeros(1, n);
R2(T2) = 1;
R2(T2+5-1) = -1;
R2 = cumsum(R2); [/code]
[code]Workspace: <1x21 double>
0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0[/code]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:11
Titel:
|
 |
Hallo,
aufeinanderfolgende Werte sind entweder gleich oder sie sind es nicht. Was hat das ganze mit der Standardabweichung zu tun?
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:17
Titel:
|
 |
ja, es sind halt double Werte, da möchte ich beispielsweise werte wie
30.1
30.001,
30.3
auch abfangen, und dies möchte ich mit der Standardabweichung realisieren.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:24
Titel:
|
 |
Hallo,
und wie genau? Sollen Werte, die sich um weniger als eine Standardabweichung unterscheiden, quasi als "gleich" betrachtet werden? Soll das Kriterium so nur auf direkt aufeinanderfolgende Werte angewendet werden oder auf die gesamte Gruppe?
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:31
Titel:
|
 |
Die folgende Folge soll beispielsweise bei mir gematcht werden, ich will halt bei der Überprüfung zusätzlich die Option mit Standardabweichung ermöglichen
Die minimalen Abweichungen sollten direkt aufeinanderfolgende Werte angewendet werden.
[ 0 1 2 3 4 30.1 30.001 30.3 30.2 30 30 20 10 5 ]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:44
Titel:
|
 |
Hallo,
dann
statt
?
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 15:56
Titel:
|
 |
Hallo,
Worüber möchtest Du denn eine Standard-Abweichung berechnen? Das ist ja die Abweichung vom Mittelwert. Aber die Größe der Schritte hat mit deinem Problem wahrscheinlich nichts zu tun, oder?
Was erwartest Du z.B. für die Daten x=1:1000 ? Sind das nun aufeinanderfolgende Werte, weil std(1:1000) doch ziemlich groß ist? Oder möchtest Du als Schwelle std(diff(1:1000))?
Es ist kein triviales Problem, an dem Du da arbeitest. Du versuchst in den Daten "Cluster" zu finden, also zusammengehörige Bereiche. Darüber kann man problemlos Doktorarbeiten schreiben.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 21:38
Titel:
|
 |
Hi,
ich möchte ja nur die (fast) identischen Werte die hintereinander gereiht sind abfangen. Bei dem Beispiel sollten halt die Werte von position 6 bis 11 markiert werden.
[ 0 1 2 3 4 30.1 30.001 30.3 30.2 30 30 20 10 5 ]
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 20:54
Titel:
|
 |
Ein problem hätte ich dennoch, die anzahl der mindestens hintereinander stehenden Werte will ich ja eingeben,
mal angenommen, es sind 4. Dabei kann es sein dass 10 Werte hintereinander stehen. Wie kann ich sowas detektieren?
Wie kann ich anschließend die Indizes festhalten?
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2013, 19:22
Titel:
|
 |
Ich glaube, das man hier noch anpassen könnte, aber wie...
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.03.2013, 20:01
Titel:
|
 |
Hallo,
Solange Du keinen eindeutigen Namen im Forum benutzt, ist es schwer herauszufinden, ob Du weitere Fragen postest, oder ob jemand anderes Anworten gibt.
Ich hatte einige Fragen gestellt, die Du bisher nicht beantwortet hast. Das animiert mich nicht, weitere Antworten zu geben.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2013, 11:51
Titel:
|
 |
Ich leg mir ein Account zu:
Zu deiner Frage, ja ich möchte als Schwelle std(diff(1:1000))
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 26.03.2013, 13:12
Titel:
|
 |
Hallo,
Oder vielleicht benötigst Du "abs(diff(data))"?!
Bei diesen Daten funktioniert das, bei 1:1000 bekommst Du als Standardabweichung allerdings 0. Die Standardabweichung ist kein stabiles Kriterium um Cluster zu finden.
Gruß, Jan
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|