|
|
Gleiche Werte finden und Vektor zusammenfassen |
|
BlackTiger |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 10:21
Titel: Gleiche Werte finden und Vektor zusammenfassen
|
 |
|
 |
|
Hallo zusammen,
hab wieder mal ein kleines Problemchen. bei dem ich nicht so vorankomme.
Und zwar folgende Situation:
Ich hab ein Signal, meinetwegen 50000 lang. Die Signale variieren zwischen den Werten 1-4 (siehe BILD1 im Anhang)
Nun möchte ich die Dauer, der jeweiligen Bereiche berechnen. Das soll so aussehen, dass ich erkenne in welchem Intervall der Bereich X ist, wie oft es innerhalb des gesamten Vektor (50000) vorkommt um schlussendlich die gesamte Dauer des Bereichs X zu berechnen.
Das soll dann für die Bereiche 1-4 geschehen.
Ich habe einige Ansätze versucht, wie beispielsweise mit "diff(A)" die Differenzen zwischen benachberten Werten zu bestimmen um daraus ne Aussage zu treffen, ob sich der Wert geändert hat. Bin aber leider nicht zu einem Ergebnis gekommen.
Ich freue mich auf jegliche Art von Ideen und Umsetzungsmöglichkeiten!
Schon mal vielen Dank
Beschreibung: |
|
 Download |
Dateiname: |
Bild1.JPG |
Dateigröße: |
37.24 KB |
Heruntergeladen: |
336 mal |
|
|
|
|
|
ol1v3r |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 06.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 10:47
Titel:
|
 |
Sind die y-Werte immer identisch, sodass du es eigentlich anhand eines Wertebereichs eingrenzen kannst?
_________________
Viele Grüße
Ol1v3r
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 11:30
Titel:
|
 |
Wenn ich deine Frage richtig verstanden habe - dann ja.
Beispielsweise sieht der Vektor wie folgt aus:
A = [1 1 1 1 3 3 3 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 1 1 1 1 2 2 3 3 3 3 ......]
|
|
|
ol1v3r |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 06.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 11:35
Titel:
|
 |
Kennst du die Bereiche (also y=1 oder 3, etc.) schon vorher oder musst du die dynamisch jedes Mal bestimmen?
_________________
Viele Grüße
Ol1v3r
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 11:38
Titel:
|
 |
Ne kenne ich leider nicht.
Müsste es dynamisch erstellen und genau hier ist eben mein Problem
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 12:32
Titel:
|
 |
Hallo Blacktiger,
die Gesamtlänge berechnen ist recht einfach. Wenn du dann noch die Häufigkeit der Intervalle der einzelnen Werte zählen willst geht das zum Beispiel so (unter der Annahme, dass deine Werte 1,2,3 und 4 sind - ansonsten musst das noch anpassen):
Das geht sicher auch schöner und einfacher (und nicht über die Variablen-Benennung wundern, ich hab eins meiner Beispielprogramme angepasst und da waren die halt so). Ich hab das nur auf die schnelle mal zusammengebastelt. Falls sich sonst niemand mehr meldet poste ich heute oder morgen mal noch eine schönere Variante.
Brauchst du auch noch den Start- und Endwert der einzelnen Intervalle? Dann wird's nämlich schön unübersichtlich
Grüße
Newbie
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2018, 20:15
Titel:
|
 |
Hier noch eine kürzere Variante:
Grüße
Newbie
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.07.2018, 10:18
Titel:
|
 |
Super, danke dir!
Das Erste hat (aus welchem Grund auch immer) nicht ganz funktioniert - habe Werte erhalten die so nicht ganz plausibel waren.
Nichtsdestotrotz hat mir dein Programm zur einer Idee verholfen und momentan funktionierts
Versuche es später noch mal mit dem kürzeren Programm
Danke Danke
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 13.07.2018, 11:25
Titel:
|
 |
In Zeile 5 vom kürzeren Programm muss natürlich "signal" anstatt "A" stehen. Ich kann's leider von hier aus nicht bearbeiten.
Grüße Newbie
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
|
|
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.
|
|