|
|
Matrizen miteinander vergleichen und Differenzen darstellen |
|
318is |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 09.03.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.08.2017, 10:29
Titel: Matrizen miteinander vergleichen und Differenzen darstellen
|
 |
Hallo Miteinander,
ich möchte gerne mehrere Matrizen miteinander vergleichen, um zu überprüfen wie unterschiedlich sie sind.
Bei zwei Matrizen wäre dies kein Problem, jedoch komme ich auf keinen Ansatz wie dies mit mehreren Matrizen funktionieren würde.
Kann man mehrere Matritzen mit
isequal
vergleichen. Bzw. kann man für
isequal
auch eine gültige Abweichung zulassen, so das eine Abweichung von z.B. 0.1 auch noch als gleichwertig gilt?
Gedanklich würde ich gerne mehrere Matrizen übereinander legen (Zur Veranschaulichung z.B. Höhenprofile) und anschließend die größten Unterschiede (z.B. Höhendiffernzen) plotten.
Hat jemand einen Tipp?
Grüße, 318is
|
|
|
|
|
equi |

Forum-Century
|
 |
Beiträge: 123
|
 |
|
 |
Anmeldedatum: 07.03.17
|
 |
|
 |
Wohnort: Tübingen
|
 |
|
 |
Version: Matlab 2018a
|
 |
|
|
 |
|
Verfasst am: 24.08.2017, 10:42
Titel:
|
 |
Kurze Frage,
du willst Position für Position vergleichen und diese Unterschiede feststellen?
Oder möchtest du die Dimensionen vergleichen?
Oder möchtest du nur vergleichen ob irgendwelche Werte überhaupt in den anderen Matrizen vorkommen?
Ich denke das erste möchtest du?
Die Position vergleichen: A(1,1) B(1,1) C(1,1)
Die Position vergleichen:A(2,1) B(2,1) C(2,1)
EDIT:
Vielleicht hilft dir das hier weiter:
http://www.gomatlab.de/matlab-matri.....or-vergleichen-t7420.html
Ich würde es analog versuchen, und jede Matrix mit jeder Vergleichen und anschließend die größten Werte herausziehen
_________________
Grüße Equi
|
|
|
318is |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 09.03.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.08.2017, 11:30
Titel:
|
 |
Hallo equi,
ich will position für postion Vergleichen und mir die Unterschiede ansehen.
Die Matrizen sind alle gleich groß.
Grüße
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.08.2017, 05:12
Titel: Re: Matrizen miteinander vergleichen und Differenzen darstel
|
 |
Hallo 318is,
Die Dokumentation zu lesen ist immer eine gute Idee.
isequal
akzeptiert auch mehrere Inputs:
Wenn die Anzahl der Matrizen größer ist oder auch variable, verwende ein Call array:
isequal
testet nur, ob die Inputs gleich sind - wie der Name schon sagt. Eine Toleranz ist dabei nicht vorgesehen. Auch hier kann ich wieder das Lesen der Dokumentation anraten:
Für eine Toleranz musst Du eine eigene Funktion schreiben, was aber nicht schwierig ist. Allerdings musst Du dazu erstmal genau definieren, welche Toleranz Du meinst: relativ oder absolut? Wie ist das bei mehreren Matrizen definiert? Was soll z.B. für die Werte 0.1, 0.2, 0.3 geschehen, wenn die Toleranz 0.1 ist? Sind die dann gleich, weil jeweils zwei Pärchen mit 0.1 Abstand existieren, oder ist 0.1 zu 0.3 ein zu großer Abstand?
Wenn das mathematisch geklärt ist, ist die Implementierung nicht so schwierig.
Gruß, Jan
|
|
|
318is |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 09.03.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.08.2017, 09:00
Titel:
|
 |
Hallo Jan,
vielen Dank für deine ausführliche Antwort! Auf das Problem, dass bei
isequal
kein Toleranzbereich möglich ist bin ich auch gestossen. Da muss ich mir nochmal genauer Gedanken machen.
Für die Nachwelt - falls jemand mal schnell mehrere Matrizen vergleichen möchte (könnte bestimmt eleganter umgesetzt werden aber funktioniert):
Mit Diff kann man sich anschließend die größten Differenzen ansehen. Mit einem Contourplot mit geschickt gewählten Bereich kann man anschließend kleine Differnzen "unsichtbar" machen. Oder alternativ Werte kleiner/größer bestimmter Toleranzen manuell ändern
Grüße 318is
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 28.08.2017, 09:16
Titel:
|
 |
Hallo,
ja, das geht in der Tat eleganter:
Grüße,
Harald
|
|
|
318is |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 09.03.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.08.2017, 09:47
Titel:
|
 |
Harald hat Folgendes geschrieben: |
ja, das geht in der Tat eleganter |
das kannte ich noch nicht - sehr cool vielen Dank
|
|
|
318is |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 09.03.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2017, 10:18
Titel:
|
 |
Noch ein kleiner Nachtrag:
ich habe einige NaN-Einträge die berücksichtigt werden sollen. Heist es soll nur der Bereich verglichen werden in dem sich die Matrizen mit Einträgen decken. Falls jemand mal sowas braucht:
Grüße
|
|
|
|
|
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.
|
|