Hier ist das zugehörige Matlab-Programm. (Matlab R2009b) Ich hab den unteren Teil auskommentiert. (Dort hab ich nur mit Beispielen umhergerechnet)
Die Teile von meinem Betreuer (Drehmatrizen ect.) gehen bis Zeile 35. Danach hab ich halt noch die nötigen Schritte dazu geschrieben um letztendlich die Jacobimatrix auszurechnen.
@GerdW Hab das irgendwann mal in einem anderen VI so gesehen und für mich als "übersichtlichste" Methode übernommen.
edit:"Hochladen fehlgeschlagen. Dir ist es nicht gestattet, eine Datei dieses Dateitypes hochzuladen"
keine .m-files?
Dann halt in Textform:
clear all
close all
clc
syms d1 d23 s1 s4 s6 sB1 cB1 sB2 cB2 sB3 cB3 sB4 cB4 sB5 cB5 sB6 cB6
T11_=[cB1 -sB1 0; sB1 cB1 0; 0 0 1];
T22_=[cB2 -sB2 0; sB2 cB2 0; 0 0 1];
T33_=[cB3 -sB3 0; sB3 cB3 0; 0 0 1];
T44_=[cB4 -sB4 0; sB4 cB4 0; 0 0 1];
T55_=[cB5 -sB5 0; sB5 cB5 0; 0 0 1];
T66_=[cB6 -sB6 0; sB6 cB6 0; 0 0 1];
T1_2=[1 0 0; 0 0 1; 0 -1 0];
T2_3=eye(3);
T3_4=[1 0 0; 0 0 -1; 0 1 0];
T4_5=T1_2;
T5_6=T3_4;
T6_7=eye(3);
T17=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*T4_5*T55_*T5_6*T66_*T6_7;
r12in1_=[d1; 0; s1];
r23in2_=[d23; 0; 0];
r34in3_=[0; 0; 0];
r45in4_=[0; 0; s4];
r56in5_=r34in3_;
r67in6_=[0; 0; s6];
r12=T11_*r12in1_;
r23=T11_*T1_2*T22_*r23in2_;
r34=T11_*T1_2*T22_*T2_3*T33_*r34in3_;
r45=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*r45in4_;
r56=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*T4_5*T55_*r56in5_;
r67=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*T4_5*T55_*T5_6*T66_*r67in6_;
r17=r12+r23+r34+r45+r56+r67; %Ortsvektor x,y,z
r27=r23+r34+r45+r56+r67;
r37=r34+r45+r56+r67;
r47=r45+r56+r67;
r57=r56+r67;
u1in1=[0 ;0; 1];
u2in2=[0 ;0; 1];
u3in3=[0 ;0; 1];
u4in4=[0 ;0; 1];
u5in5=[0 ;0; 1];
u6in6=[0 ;0; 1];
u2in1=T11_*T1_2*u2in2;
T1_3=T11_*T1_2*T22_*T2_3;
u3in1=T1_3*u3in3;
T1_4=T11_*T1_2*T22_*T2_3*T33_*T3_4;
u4in1=T1_4*u4in4;
T1_5=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*T4_5;
u5in1=T1_5*u5in5;
T1_6=T11_*T1_2*T22_*T2_3*T33_*T3_4*T44_*T4_5*T55_*T5_6;
u6in1=T1_6*u6in6;
J_hilf1=cross(u1in1,r17);
J_hilf2=cross(u2in1,r27);
J_hilf3=cross(u3in1,r37);
J_hilf4=cross(u4in1,r47);
J_hilf5=cross(u5in1,r57);
J_hilf6=cross(u6in1,r67);
Jacobi=[ u1in1(1) u2in1(1) u3in1(1) u4in1(1) u5in1(1) u6in1(1);
u1in1(2) u2in1(2) u3in1(2) u4in1(2) u5in1(2) u6in1(2);
u1in1(3) u2in1(3) u3in1(3) u4in1(3) u5in1(3) u6in1(3);
J_hilf1(1) J_hilf2(1) J_hilf3(1) J_hilf4(1) J_hilf5(1) J_hilf6(1);
J_hilf1(2) J_hilf2(2) J_hilf3(2) J_hilf4(2) J_hilf5(2) J_hilf6(2);
J_hilf1(3) J_hilf2(3) J_hilf3(3) J_hilf4(3) J_hilf5(3) J_hilf6(3)];