|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2010, 10:40
Titel: Matritzen subtrahieren
|
|
Hallo Leute,
habe zwei Matritzen mit unterschiedlicher Zeilenanzahl. Die Matritzen enthalten in den drei Spalten x-,y-,z-Werte. Beide Matritzen enthalten zum Teil gleiche x-,y-Werte, diese stehen aber wild verteilt irgendwo in den jeweiligen Matritzen.
Nun würde ich beide Matritzen gerne dementsprechend subtrahieren, dass genau diese Beiden gleichen x-,y-Werte sich eliminieren. Am Ende soll eine Matrix entstehen, die nur noch die x-,y-,z-Werte enthält, ohen die identischen x-,y-Werte.
Kann mir da jemand weiterhelfen?
Viele Grüsse
MArc
|
|
|
|
|
Gauss |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2010, 10:55
Titel: aa
|
|
Hallo,
ein kleines beispiel zum verständnis wäre nicht schlecht.
gruss
|
|
|
marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2010, 11:07
Titel:
|
|
1. Matrix:
x y z
1 2 7
2 5 6
2 9 3
4 6 3
9 5 5
2. Matrix:
x y z
9 5 2
6 6 6
4 6 2
2 9 5
1 2 3
mat1 - mat2 =!
x y z
2 5 6
6 6 6
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.06.2010, 11:13
Titel:
|
|
Hallo,
fasse x und y jeweils in Matrizen M1 und M2 zusammen, dann setxor:
Grüße,
Harald
|
|
|
marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2010, 12:27
Titel:
|
|
Hallo Harald,
das problem ist, das die korrdinaten zwar in x und y gleich sind aber einen unterschiedlichen z wert haben. die z koordinaten der nicht identischen punkte sollen in die neue tabelle übernommen werden. bei dieser variante hier hab ich am ende ja nur x und y. und würde ich das so mit z machen, würde es nicht funktionieren...
Gruß
Marc
|
|
|
Fourier |
Forum-Guru
|
|
Beiträge: 329
|
|
|
|
Anmeldedatum: 05.04.10
|
|
|
|
Wohnort: Karlsruhe
|
|
|
|
Version: 2009b
|
|
|
|
|
|
Verfasst am: 30.06.2010, 12:30
Titel:
|
|
aufbauend auf Haralds vorschlag würde ich so machen:
PS: die Funktion setxor kannte ich auch nicht ;)
gruss
_________________
Ein schlechter General ist besser als zwei gute.
|
|
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2010, 13:02
Titel:
|
|
Ihr seid super! Danke Leute!
|
|
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2010, 13:46
Titel:
|
|
Hallo Leute,
neues Problem! Also die Werte aus der Matrix, die subtrahiert wird, sollen nicht in der Ergebnismatrix stehen. also Bsp:
1. Matrix:
x y z
1 2 7
2 5 6
2 9 3
4 6 3
9 5 5
2. Matrix:
x y z
9 5 2
6 6 6
4 6 2
2 9 5
1 2 3
mat1 - mat2 =!
x y z
2 5 6
----------------------------------------------
Gruß
Marc
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2010, 13:51
Titel:
|
|
Hallo,
dasselbe wie vorher mit SETDIFF statt SETXOR.
Hinweis: wenn ein Befehl in etwa das macht, was man möchte, aber nicht genau das, dann hilft oft ein Blick in die "See Also"-Liste ganz unten in der Dokumentation.
Grüße,
Harald
|
|
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2010, 14:06
Titel:
|
|
Hallo Harald,
danke für den Hinweis.
Wenn ich statt "setxor" "setdiff" nehme, bekomme ich folgende Fehlermeldung:
??? Error using ==> setdiff
Too many output arguments.
Gruß
Marc
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2010, 14:14
Titel:
|
|
Hallo,
Es werden von setdiff nur 2 Argumente zurückgegeben, weil man ja nur die Zeilen wissen muss und wo sie in der ersten Matrix stehen. Irgendwo logisch, oder? Anpassung von Fourier's Code:
Ein Blick in die Hilfe hätte wohl gereicht, um das herauszufinden.
Grüße,
Harald
|
|
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2010, 14:19
Titel:
|
|
Hallo Harald,
danke für die schnelle Hilfe. Was einem Geübten recht logisch erscheint, gleicht für einen Anfänger oft der chinesischen Sprache, insofern er kein Chinese ist...
Gruß
Marc
|
|
|
|
|
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 - 2024
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.
|
|