jacobian from trigonometric function

16 次查看(过去 30 天)
Hi have made this code to calculate the jacobian but the result presents some complex number
is it because matlab convert trigonometric like (cos = eix+e-ix/2) and if it 's that how can i ha ve a trigonometric expression or is it any bug in the code
syms t1;
syms t2;
syms t3;
syms t4;
T1=[cos(t1) -sin(t1) 0 0;sin(t1) cos(t1) 0 0;0 0 1 0;0 0 0 1];
T2=[cos(t2) -sin(t2) 0 90;0 0 1 0;-sin(t2) cos(t2) 0 0;0 0 0 1];
T3=[cos(t3) -sin(t3) 0 0;0 0 1 70;-sin(t3) -cos(t3) 0 0;0 0 0 1];
T4=[cos(t4) -sin(t4) 0 0;0 0 -1 320;sin(t4) -cos(t4) 0 0;0 0 0 1];
T5=[1 0 0 260;0 0 1 0;0 1 0 0;0 0 0 1];
%calcul
T=T1*T2;
T=T*T3;
T=T*T4;
T=T*T5;
px=T(1,4);
py=T(2,4);
pz=T(3,4);
psi=atan2(-T(2,3),T(3,3));
a=(T(2,3)*T(2,3))+(T(3,3)*T(3,3));
phi=atan2(T(1,3),sqrt(a));
teta=atan2(-T(1,3),T(1,1));
J=jacobian([px,py,pz,psi,phi,teta],[t1,t2,t3,t4]);

回答(2 个)

Jan
Jan 2016-3-19
What about
syms t1 real
Otherwise Matlab cannot guess that you want to exclude the imaginary part.

ves dim
ves dim 2016-3-19
Thanks a lot simon it's working

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by