| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Vektor vergleichen (1239 mal gelesen)
|
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 28. Feb. 2014 11:08 <-- editieren / zitieren --> Unities abgeben:
Moin, ich versuche gerade zwei Vektoren auszuwerten. x1 = [4 6] x2 = [3 5] M = [-1 1] Die Auswertung soll in etwa so aussehen. Wenn M_i == 1 dann x1_i sonst x2_i In dem Beispiel soll das Erbenis so aussehen: da M_1 = -1 : y_1 = x2_1 (3) da M_2 = 1 : y_2 = x1_2 (6) also y = [3 6] x1 und x2 werden später noch vergrößert. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rmix22 Mitglied
Beiträge: 146 Registriert: 13.09.2013
|
erstellt am: 28. Feb. 2014 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für NicoFTB
|
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 28. Feb. 2014 12:43 <-- editieren / zitieren --> Unities abgeben:
|
rmix22 Mitglied
Beiträge: 146 Registriert: 13.09.2013
|
erstellt am: 28. Feb. 2014 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für NicoFTB
Zitat: Perfekt! Danke.
Gern geschehen! Und weils so schön war gleich noch drei Möglichkeiten - diesmal nutzen alle den Vektorisier-Operator.
[Diese Nachricht wurde von rmix22 am 28. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 28. Feb. 2014 13:35 <-- editieren / zitieren --> Unities abgeben:
|
rmix22 Mitglied
Beiträge: 146 Registriert: 13.09.2013
|
erstellt am: 28. Feb. 2014 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für NicoFTB
Seien a:=[2;3] und b:=[4;5] zwei Vektoren. Dann ist a*b=2*4+3*5=23, also das Skalarprodukt. Wenn du den Ausdruck a*b aber vektorisierst, dann ist das Ergebnis der Vektor [8; 15]. Der Operator nimmt als das erste Elelement jedes verwendeten Vektors, führt die Rechnung (hier die einfache Multiplikation) damit aus und legt das Ergebnis als erstes Elelment eines Ergebnisvektors ab. Dann die gleiche Prozedur mit den zweiten Elementen, etc. Klar ist, dass alle beteiligten Vektoren gleiche Dimension haben müssen. Sehr oft wird die Vektorisierung automatisch von Mathcad implizit vorgenommen, wenn eine Rechnung sonst mit Vektoren keinen Sinn ergibt. Als Beispiel etwa die Division a/b. Hier wäre das explizite Vektorisieren nicht nötig, schadet aber auch nicht. Bei meinen Lösungen ist Vektorisation aber unbedingt vonnöten, da der Ausdruck M=1 sonst in jedem Fall 0 (=false) ergibt, da der Vektor M ja nie gleich dem Skalar 1 sein wird. Wir benötigen hier einen elementweisen Vergleich. M=1 vektorisiert liefert also einen gleichmächtigen Vektor mit 0(=false) an den Stellen, an denen die entsprechende Komponente von M ungleich 1 ist und ansonsten 1(=true).
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 03. Mrz. 2014 09:58 <-- editieren / zitieren --> Unities abgeben:
|