|
|
bestimmte Werte eine Matrix ersetzen |
|
waba |

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 14.02.14
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a
|
 |
|
|
 |
|
Verfasst am: 19.03.2014, 18:11
Titel: bestimmte Werte eine Matrix ersetzen
|
 |
Hallo,
ich habe eine Matrix qz_ausw (800x1500double).
Durch eine Abfrage in meiner GUI über zwei edit-Fenster bekomme ich ein Minima (editmin) und ein Maxima (editmax).
Alle Werte von qz_ausw, welche größer als mein Maxima bzw. kleiner als mein Minima sind, sollen nun durch den Durchschnittswert (d) der kompletten Anfangsmatrix ersetzt werden. Auf diese Weise möchte ich gewisse Messfehler eliminieren. (Mein Laserscanner hat im großen und ganzen gut gemessen, nur an manchen Stellen ist in z-Richtung ein Ausreißer, welcher falsch ist und deshalb einfach durch den Durchschnittswert ersetzt werden soll.)
Bis jetzt habe ich folgende Ansätze im Kopf kann sie aber noch nicht richtig verknüpfen:
|
|
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 19.03.2014, 21:59
Titel:
|
 |
Hallo,
wenn ich dich nicht komplett falsch verstehe, solltest du einfach per suche nach
qz_ausw < editmin bzw. qz_ausw > editmax die gewünschten Punkte in deiner MAtrix finden, die ersetzt werden müssen.
So in etwa - kann es aber in Ermangelung von Matlab grad nicht testen.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
waba |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 14.02.14
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a
|
 |
|
|
 |
|
Verfasst am: 20.03.2014, 10:43
Titel:
|
 |
Hallo Martina,
an
hab ich auch schon gedacht, allerdings ist ja qz_ausw eine Matrix und editmax ein einzelner Wert... Ich muss quasi jeden einzelnen Wert meiner Matrix mit diesem Wert vergleichen.
Viele Grüße
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 20.03.2014, 12:35
Titel:
|
 |
waba hat Folgendes geschrieben: |
Hallo Martina,
an
hab ich auch schon gedacht, allerdings ist ja qz_ausw eine Matrix und editmax ein einzelner Wert... Ich muss quasi jeden einzelnen Wert meiner Matrix mit diesem Wert vergleichen.
Viele Grüße |
Hast du es mal auspobiert?
Bei der Abfrage (qz_ausw < editmin) bzw (qz_ausw > editmax) wird deine Gesamte Matrix überprüft. Du erhältst eine true/false Matrix. Überall, wo eine 1 steht, wurde der Minimalwert unterschritte, oder der Maximalwert überschritten.
Nur an den Stellen, an denen die Matrix dann 1 ist, werden die Werte in der qz_ausw-Matrix dann auf den vorher berechneten Mittelwert gesetzt.
(Man kan den Code sogar noch um 2 Zeilen kürzen, indem man die Bedingung verodert - aber das macht den Code für dich sicherlich nicht leichter lesbar.)
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
waba |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 14.02.14
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a
|
 |
|
|
 |
|
Verfasst am: 20.03.2014, 12:54
Titel:
|
 |
Hallo,
danke für die schnelle Antwort! ich hab es probiert und mit
funktioniert es jetzt!
Besten 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.
|
|