Zitat:
Original erstellt von easytree:
Ich möchte eine Tabelle(Tab) durchsuchen.
Suchkriterium ist eine Matrix (Type).
Ausgegeben möchte ich eine neue Matrix in diesem Fall aus der Tabelle Tab die Spalte 2 für mein Type
Wie muß ich das anstellen?
Wär nett, wenn du uns nicht zumuten würdest deine Daten abzutippen, sondern einfach dein Mathcad Arbeitsblatt dranhängst. Direkt gehts leider nicht, daher vorher zippen - ist besser als umbenennen, da wir die Datei dann direkt ohne Zwischenspeichern öffnen können.
Außerdem wären mehr Informationen über das gewünschte Ergebnis hilfreich, vor allem in Hinblick auf deine Zuweisung K:=Z*B. Erwartest du wirklich für B einen 5-zeiligen Vektor als Ergbnis (anders würde das Skalarprodukt mit Z ja nicht klappen)?
Nun ja, wenn B ein gewöhnlicher Vektor werden soll (allerdings nur ein dreizeiliger), dann wär das recht geschickt unter Verwendung einer Hilfsfunktion möglich, welche dann vektorisiert mit Type als Argument aufgerufen wird:
aux(x):=vlookup(x,Tab,2)[0
dann
B:=aux(Type)
allerdings muss dieser Aufruf vektorisiert werden.
Das nachfolgende Skalarprodukt muss dann aber wohl schiefgehen, weil die Dimensionen von B und Z nicht passen.
Die Routine aux() berücksichtigt nur das erste Auftreten des Suchwertes. Sollen Mehrfachvorkommen berücksichtigt werden (tritt bei deiner Tabelle aber nicht auf da die Werte in der ersten Spalte eindeutig sind), müsste man ein klein wenig mehr Arbeit investieren.
[Diese Nachricht wurde von rmix22 am 27. Mrz. 2014 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP