|
|
Graph bzw. Matrix auf einheitliche Länge normieren |
|
jens.ru |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 19.11.13
|
|
|
|
Wohnort: Baunach
|
|
|
|
Version: R2022a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 12:32
Titel: Graph bzw. Matrix auf einheitliche Länge normieren
|
|
Hey!
ich habe ein Signal (welches ich aus einer Acces Datenbank importiert habe) gleichgerichtet, gefiltert und bearbeitet, dass ich es in der Form vor mir liegen habe:
Graph
Nun habe ich diverse dieser Signale, dich ich übereinander legen möchte, daher muss ich die irgendwie normieren, auf 100% in 1%Schritten.
Aktuell haben meine Matzritzen je zwischen 1425 und 1577 Werte. Hat jemand eine Idee, wie ich diese normieren kann, ohne Werte zu verlieren?
Danke, Jens!
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 12:40
Titel:
|
|
du könntest auf das längste signal interpolieren. ob das allerdings klappt hängt von deinen daten ab. die angaben sind doch recht dürftig. um dir da weiterhelfen zu können. ein minimalbeispiel ist immer hiflreich.
_________________
richtig Fragen
|
|
|
jens.ru |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 19.11.13
|
|
|
|
Wohnort: Baunach
|
|
|
|
Version: R2022a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 12:47
Titel:
|
|
|
|
|
Hey! Danke für deine zügige Antwort.
Was brauchst du für Angaben?
Ich habe in einer Matrix 5 verschiedene Aufnahmen des gleichen Vorgangs, jeweils ~14.000 Zeilen lang. Das eigentliche Event ist aber nur ~1500 Zeilen lange. Diese Events habe ich herausgesucht und bearbeitet in eine neue Matrix gespeichert. Allerdings sind diese Events jetzt natürlich nicht alle gleich lange sonder wie geschrieben unterschiedlich lange. Um sie allerdings richtig vergleichen zu können möchte ich sie normieren(interpolieren?) Habe auch schon über die Matlab Hilfe und Google interp1 und linspace gefunden, allerdings komme ich damit noch nicht so wirklich zurecht...
edit: jetzt habe ich noch einmal gelesen und irgendwie macht das mit der interp1 auf einmal doch Sinn..
Ich komm nur mit der Syntax noch nicht klar...
Wenn A mein Ausgangvektor ist, mit zB 1500 Einträgen und ich einen neuen haben möchte mit 1700, wie lautet denn dann der korrekte Befehl?
neuerVektor=interp1(A,1577); ?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 13:12
Titel:
|
|
Zitat: |
allerdings komme ich damit noch nicht so wirklich zurecht... |
beispiel code ist da immer hilfreich. was hast du versucht was hat nicht funktioniert? fehlermeldungen etc
wie weicht das erzihlte ergebniss vom gewünschtem ab ?
es währe schön wenn du einen kurzen datensatz geben könntest der dein problem wiederspiegelt. du sagst du hast 1500 messwerte ca. aber auf was bezogen. wie verhalten sich die einzelnen werte zueinander. gibt es eine zeitskala etc. wenn ein signal 5 min lang ist, 1500 werte hat und eines 1 min lang und 1400 werte sind das ja schon große unterschiede. ich kann jedem neuen user nur den thread richtig fragen aus meiner signatur zu herzen legen ^^ richtig fragen ist schwer aber notwendig ^^ es erspaart allen beteiligten viel arbeit
_________________
richtig Fragen
|
|
|
jens.ru |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 19.11.13
|
|
|
|
Wohnort: Baunach
|
|
|
|
Version: R2022a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 13:22
Titel:
|
|
Habe den Threat vorhin schon durchgelesen, ja
Ich möchte hier nur sehr ungerne Beispielcode posten, weil ich ein wenig paranoid bin und Angst habe, dass er dann (wenn er zum Schluss funktioniert) einfach rauskopiert wird. Das Programm ist Teil einer Klausur, von daher möchte ich so wenig wie nur irgendwie möglich posten.
Wie aber schon gesagt, die Werte sind in einer Matrix gespeichert. Spalte 1=erster Versuch, Spalte 2=zweiter Versuch usw. Also eigentlich nichts anderes als einzelne Vektoren.
Aber vom Prinzip müsste die Lösung mit interp1 eigentlich gar nicht schwer sein, wenn ich das jetzt richtig verstanden habe, da ich einfach nur Vektoren unterschiedlicher Länge habe, und diese durch die Interpolation vereinheitlichen möchte. Die Daten jedes Vektors gehen gegen eine "Zeitleiste" [1:1:15xx]
Ich hoffe es ist verständlich, was ich meine?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 23.01.2014, 13:35
Titel:
|
|
wenn das klausuraufgaben sind solltest du sie mit den aufzeichnungen des unterreichts eigentlich lösen können. wenn du keinen code postest kann ich dir auch nicht sagen was du falsch machst. ich bin mir auch nicht sicher ob interpolation wirklich das richtige ist. du musst im grundgenommen die zugrundeliegende skala vereinheitlichen. also quasi zu deinen messwerten die y werte sind einheitliche x werte generieren. dazu würde ich das längste signal nehmen und dann mittels linspace x achsen für die anderen messwerte erstellen. wichtig ist das dann alle halt bei 1 anfangen und bei zb 1525 aufhören oder so.
das wäre dann ub das minimalbeispiel zu dem was ich mir umständlich aus deinen ausführungen zusammen reime ^^
_________________
richtig Fragen
|
|
|
jens.ru |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 19.11.13
|
|
|
|
Wohnort: Baunach
|
|
|
|
Version: R2022a
|
|
|
|
|
|
Verfasst am: 25.01.2014, 17:50
Titel:
|
|
Also danke dir nochmal für deine Hilfe, aber ich glaube die Lösung meines Problems war eine ganz einfache.
Mit dem Befehl
y= interpft(x,n) habe ich den Vektor x (bzw. die Spalte der Matrix) einfach auf die Länge n gestreckt. Hätte vielleicht nicht so stur auf interp1 losgehen sollen.
Aber ich denke, dass das jetzt schon die Lösung meines Problems war?
|
|
|
|
|
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.
|
|