Make a rotation matrix from a function

4 次查看(过去 30 天)
Fredrik Tveita
Fredrik Tveita 2018-9-27
重新打开: Walter Roberson 2018-12-22
Hello i have this function which inputs (phi,theta,psi) and returns a
rotation matrix R
I want to use this function to create a rotation matrix in my main file with
self chosen rotation angles.
Here is the function:
function R = euler_vinkler(phi,theta,psi)
p = phi ;
t = theta ;
s = psi ;
D = [cos(p) sin(p) 0 ; -sin(p) cos(p) 0 ; 0 0 1] ;
C = [1 0 0 ; 0 cos(t) sin(t) ; 0 -sin(t) cos(t)] ;
B = [cos(s) sin(s) 0 ; -sin(s) cos(s) 0 ; 0 0 1] ;
R = B*C*D ;
end
  3 个评论
Fredrik Tveita
Fredrik Tveita 2018-9-27
Yes i want to create the rotation matrix R, but i get this error:
Error in rotation matrix (line 2)
p = phi ;
How do i choose my value for phi? psi and theta etc?
David Goodmanson
David Goodmanson 2018-9-27
If you run, e.g. M = euler_vinkler(1,2,3) of course it works fine. Choice of angles depends on what you want to do, so what is it that you wish to accomplish?

请先登录,再进行评论。

回答(1 个)

KSSV
KSSV 2018-9-27
I think you tried to run the function..by clicking run or without providing inputs. You have to save this code in a file as function with extension .m, the name of file will be euler_vinkler.m.
Now go to the folder where this function/ file is present.
In the command window type:
R = euler_vinkler(45,90,180)
The function will be executed and your output is R.

类别

Help CenterFile Exchange 中查找有关 Event Functions 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by