CAS parameter with matrix

hawe shared this question 3 months ago
Needs Answer

To supply rotation matrices with the parameters of rotations: Any reason while


Do(a,X,Y,Z):={{Y*cos(a)+Z*cos(a)+X,-Z*sin(a),Y*sin(a)},{Z*sin(a),X*cos(a)+Z*cos(a)+Y,-X*sin(a)},{-Y*sin(a),X*sin(a),X*cos(a)+Y*cos(a)+Z}}


is not working but


Do(a,X,Y,Z):=Take({{Y*cos(a)+Z*cos(a)+X,-Z*sin(a),Y*sin(a)},{Z*sin(a),X*cos(a)+Z*cos(a)+Y,-X*sin(a)},{-Y*sin(a),X*sin(a),X*cos(a)+Y*cos(a)+Z}},1,3)


will do

/ATFAqOmO+cq0AAAAAElFTkSuQmCC

Comments (1)

photo
1

Salut hawe!


Ich bin mir jetzt nicht ganz sicher, aber ich vermute, dass das Problem ein Namesproblem ist.

Du möchtest das Ganze wohl im Grunde genommen wie eine Funktion "Do" in Abhängigkeit von a, X, Y und Z verstanden wissen, aber diese Herangehensweise bzw. dieser Blick ist bei Listen, und mit so etwas haben wir es ja hier im Grunde genommen zu tun, unzutreffend.


GeoGebra interpretiert deshalb den "Listennamen" komplett als "Do(a,X,Y,Z)" und kann deshalb in einem "Namen" keinen "Buchstaben" bzw. ein Zeichen durch einen Zahlenwert austauschen.

Nenn das Ding doch probehalber einfach mal nur "Do" und arbeite dann mit dem Ersetze-Befehl, der ja gerade für Listen konzipiert ist und im CAS zur Verfügung steht, also:


Ersetze(Do,{a,X,Y,Z},{30°, 0,1,0})

Gruß

mire2

© 2019 International GeoGebra Institute