Azzera filtri
Azzera filtri

Help with Function please !

1 visualizzazione (ultimi 30 giorni)
Nikolaos
Nikolaos il 29 Dic 2011
Hello Matlab community!
I need your help for one more time ! :)
Well i have made a program for the forward kinematics of one finger. That program has a function which is ... function kin(q1,q2,q3,t) These (q1,q2,q3) are the angles of the joints for the finger. I want to do that for the rest of the fingers but i don't want to make the exact same program for each of the fingers. I want to just do that from one program. What i have in mind is , if it is q1_1, q1_2, q1_3 it is for the first finger , q2_1, q2_2, q2_3 is for the second finger etc.
Can you please help me with this ? Thanks a lot in advance Nick

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 29 Dic 2011
I suggest you make a 5x3 matrix, for example,
FingerAngle=rand(5,3);
Then call the function for the first finger
kin(FingerAngle(1,1),FingerAngle(1,2),FingerAngle(1,3))
For the second finger, it will be
kin(FingerAngle(2,1),FingerAngle(2,2),FingerAngle(2,3))
Or a little bit advanced, use cell array
FingerAngle=num2cell(rand(5,3));
% for the first finger
kin(FingerAngle{1,:})
% for the second finger
kin(FingerAngle{2,:})
  3 Commenti
Fangjun Jiang
Fangjun Jiang il 29 Dic 2011
If you want to set the angle value as you want, you can do
FingerAngle(1,1)=pi/4;
FingerAngle(1,3)=pi/6;
FingerAngle(3,2)=pi/5;
...
Nikolaos
Nikolaos il 30 Dic 2011
I love you !
Thank you again :)

Accedi per commentare.

Più risposte (1)

Sean de Wolski
Sean de Wolski il 29 Dic 2011
Use a matrix.
Q = zeros(5,3);
And store in the corresponding ij indices of Q.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by