Make a rotation matrix from a function

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

David Goodmanson
David Goodmanson 2018년 9월 27일
This looks good. Is there a question?
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일

0 개 추천

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.

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

제품

질문:

2018년 9월 27일

다시 열림:

2018년 12월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by