|
|
Teil eines Vektors auslesen und neu zusammensetzen |
|
Stromberg |

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2014, 00:32
Titel: Teil eines Vektors auslesen und neu zusammensetzen
|
 |
Hallo,
ich bin Matlab Anfänger und habe folgendes Problem:
Ich habe einen Vektor A mit n Werten. Der Werteverlauf des Vektors A gleicht einer nach oben geöffneten Parabel. Ein vordefinierter Grenzwert ist X.
Ich möchte gerne einen neuen Vektor B mit n Werten definieren:
Jeder Wert des Vektors A soll überprüft werden, ob dieser kleiner als der Grenzwert X ist. Falls ja, soll der Wert des Vektors A bestehen bleiben, falls nein, soll der Grenzwert X an dessen Stelle geschrieben werden.
Kann mir hier bitte jemand weiterhelfen?
|
|
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 04.11.2014, 02:35
Titel:
|
 |
Hallo,
Das geht sehr einfach mittels eines logischen Vektors.
Grüße,
Seban
_________________
Richtig fragen
Debugging
|
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 21:12
Titel:
|
 |
Hallo und Danke für die schnelle Antwort.
Ich würde gerne dem "neuen" Vektor A als Vektor B deklarieren.
Hast Du hierfür noch einen Tipp?
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 21:42
Titel:
|
 |
Gern geschehen.
Setze
und wende die Berechnungen auf B statt A an, dann wird A nicht überschrieben.
Grüße
_________________
Richtig fragen
Debugging
|
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.11.2014, 00:23
Titel:
|
 |
Super, Danke.
Abschließend würde ich gerne ausschließlich die Messwerte unterhalb des Grenzwertes des neu definierten Vektors mit der Funktion
glätten, so dass ein zusammengesetzter Vektor aus konstantem Grenzwertbereich, gefilterter Bereich und konstantem Grenzwertbereich entsteht (s. Anhang).
Die Glättungsfunktion habe ich bereits für nicht modifizierte Messdaten angewandt. In diesem Fall gelingt mir aber die Bereichsdefinition nicht.
Hättest Du hier noch einen Tipp?
Beschreibung: |
|
 Download |
Dateiname: |
Filter.png |
Dateigröße: |
35.23 KB |
Heruntergeladen: |
385 mal |
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 06.11.2014, 00:46
Titel:
|
 |
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.11.2014, 02:40
Titel:
|
 |
Nein, nicht ganz
Ich muss nochmal von vorne anfangen.
Ich habe eine Matrix A mit 4 Spalten und n Zeilen mit Messwerten. Der Verlauf der Spalten stellt in Annäherung eine nach oben geöffnete Parabel dar. Für diese Matrix A wird eine Grenze X als cut definiert. Ich möchte ausschließlich die Werte der Matrix unterhalb der Grenze X glätten. Der Bereich links und rechts soll hierbei nicht mehr vorhanden sein (auch nicht 0), da dies sonst aufgrund der Unstetigkeiten im Übergang zu Überschwingern führt. Somit glätte ich einen Bereich der Matrix A mit n-y Zeilen.
Nach dem Glätten möchte ich gerne wieder eine Matrix mit n Zeilen haben. D. h. der geglättete Bereich (Parabellausschnitt) soll links und rechts wieder mit dem Grenzwert X ergänzt werden, so dass eine zusammengesetzte und geglättete Matrix mit n Zeile ohne Horizontalversatz entsteht.
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 06.11.2014, 05:34
Titel:
|
 |
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.11.2014, 01:10
Titel:
|
 |
Vielen Dank!
Ich bin begeistert und habe viel dazu gelernt!
|
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.03.2015, 17:35
Titel:
|
 |
Hallo,
ich würde gerne neben dem bereits erfolgreichen Beschneiden und Filtern im relevanten Bereich noch die Ableitung bilden, d. h. aus dem Weg die Geschwindigkeit ableiten.
Mit dem Einsatz des logischen Vektors komme ich hier nicht weiter, da durch "diff" sich die Anzahl der Datenpunkte um -1 reduziert.
Kann mir hier jemand weiterhelfen?
Zusammengefasst möchte ich gerne aus einem Teil eines Wegsignals die Geschwindigkeit ermitteln, in dem ich den Teilbereich nach der Zeit ableite. Die Bereich haben einen konstanten Weg bzw. hier soll die Geschwindigkeit 0 sein.
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 11.03.2015, 07:15
Titel:
|
 |
Hallo Stromberg,
Stromberg hat Folgendes geschrieben: |
Mit dem Einsatz des logischen Vektors komme ich hier nicht weiter, da durch "diff" sich die Anzahl der Datenpunkte um -1 reduziert. |
Bsp. einer Ableitung mit diff:
Grüße,
Seban
_________________
Richtig fragen
Debugging
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.03.2015, 11:02
Titel:
|
 |
Hallo Stromberg,
Statt DIFF eigenet sich GRADIENT besser für eine Ableitung. Einerseits verändert es nicht die Anzahl von Datenpunkten, zweitens wird der numerisch stabilere zweiseitige Differenzen-Quotient verwendet.
Gruß, Jan
|
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.03.2015, 11:49
Titel:
|
 |
Hallo,
vielen Dank für die Vorschläge. Ich werde diese ausprobieren.
|
|
|
Stromberg |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 58
|
 |
|
 |
Anmeldedatum: 13.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.03.2015, 16:58
Titel:
|
 |
Hat prima funktioniert und ist eine effiziente Lösung!
Vielen Dank!
|
|
|
|
|
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.
|
|