| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Hashes in Mathcad? (663 mal gelesen)
|
Oliver A Mitglied
Beiträge: 73 Registriert: 27.11.2002 Wer Fragen stellen will, muss schon etwas wissen
|
erstellt am: 11. Feb. 2010 15:45 <-- editieren / zitieren --> Unities abgeben:
Ich würde gerne in Mathcad Hashes verwenden, d. h. auf die Elemente eines Vektors mittels eines "Namens" (Zeichenkette) statt eines Index zugreifen. In der Hilfe konnte ich unter "Hash" nichts finden. Sehe ich das richtig, dass Mathcad das von Haus aus nicht kann? Ein Workaround habe ich mir ausgedacht. Ich speichere Namen und zugehörige Indizes in einer Matrix aa. Dann suche ich mittels einer Funktion a(s) den Namen s in der Matrix und gebe den Wert in der zweiten Spalte von aa zurück -- ich definiere mir also meine eigene Hash-Funktion. Nun kann ich in einem Vektor x den Wert finden, der dem Index mit dem Namen s entspricht: x[a(s). Code:
("Alpha" 1) aa := ("Bravo" 2) ("Charlie" 3)a(s) := lookup(s, aa<0>, aa<1> )[0 ( 1) x := ( 2) (42) x[a("Charlie") = 42
Hat jemand eine bessere Idee? Oliver [Diese Nachricht wurde von Oliver A am 11. Feb. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Clayton Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 07.02.2004 AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100 Inventor Series 10 Mathcad 13
|
erstellt am: 11. Feb. 2010 17:48 <-- editieren / zitieren --> Unities abgeben: Nur für Oliver A
|
Oliver A Mitglied
Beiträge: 73 Registriert: 27.11.2002 Wer Fragen stellen will, muss schon etwas wissen
|
erstellt am: 12. Feb. 2010 00:03 <-- editieren / zitieren --> Unities abgeben:
Naja, es ist genauso kompliziert, und es entspricht von der Handhabung her nicht mehr einem Hash. Idealerweise könnte man eben Code:
x["Alpha" = 1 x["Bravo" = 2 x["Charlie" = 42
definieren und entsprechend darauf zugreifen. Wem der Sinn nicht ganz klar ist: Ich möchte in einer Flugzeugentwurfsrechnung die Eigenschaften verschiedener Flügelprofile in einer oder mehreren Matrizen ablegen und dann mit dem Namen des Profils ("NACA0009" oder "FX73K170") darauf zugreifen statt mit einem ganzzahligen Index. Bzw. noch einen Schritt früher: Ich möchte, vereinfacht gesagt, in einer Excel-Eingabedatei ein Blatt mit den Profildaten (Profile mit ihrem Namen untereinander weg, Mathcad liest Daten ein und speichert sie mit dem entspr. Namen) und ein Blatt mit Flugzeugdaten (z. B. Geometrie des Flügels, Angabe des Profils mit seinem Namen) speichern und die dann mit Mathcad verarbeiten können. Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|