Hello, every body and many thanks for your answers!!!

It allow me to search in several ways I didn't know.

The " difff " fonction doesn't exist in Maple 13, unfortunatly. This solution could have been the most efficient I think.

As I am not used to practice function like " thaw ,value ,subs ,x=freeze(x),... " it request a little time of research for me but it looks interesting.

Well, I dislike to put such equations coming from nowhere for you but it should be helpful to see how I tried to solve my problem.

Well... this is the velocity of the second element of an inverted pendulum (excentred mass) composed by N elements

V[2] := L[1]^2*(diff(Theta[1](t), t))^2+2*L[1]*(diff(Theta[1](t), t))*S[2]*(diff(Theta[2](t), t))*cos(Theta[1](t)-Theta[2](t))-2*L[1]*(diff(Theta[1](t), t))*e[2]*(diff(Theta[2](t), t))*sin(Theta[1](t)-Theta[2](t))+S[2]^2*(diff(Theta[2](t), t))^2+e[2]^2*(diff(Theta[2](t), t))^2

then I multiply by M2 a half to obtain the kinetic energy

T[2] := (1/2)*M[2]*(L[1]^2*(diff(Theta[1](t), t))^2+2*L[1]*(diff(Theta[1](t), t))*S[2]*(diff(Theta[2](t), t))*cos(Theta[1](t)-Theta[2](t))-2*L[1]*(diff(Theta[1](t), t))*e[2]*(diff(Theta[2](t), t))*sin(Theta[1](t)-Theta[2](t))+S[2]^2*(diff(Theta[2](t), t))^2+e[2]^2*(diff(Theta[2](t), t))^2)

until know I don't have any problem to create a program to give me it. but know, As I was unable to dérivate. I decided to make a " for bouble" to substitute all the diff(theta[1,2 ... N]) by K[1,2...N] However, I was not able to create a for function into the subs() function, so I did it " brute force" until 11 @_@ ...

for i to N do T[i] := subs(diff(*Theta[1](t), t) = K[1], diff(Theta[2](t), t) = K[2], diff(Theta[3](t), t) = K[3], diff(Theta[4](t), t) = K[4], diff(Theta[5](t), t) = K[5], diff(Theta[6](t), t) = K[6], diff(Theta[7](t), t) = K[7], diff(Theta[8](t), t) = K[8], diff(Theta[9](t), t) = K[9], diff(Theta[10](t), t) = K[10], diff(Theta[11](t), t) = K[11]*, T[i]) end do;

then I derivate # The reason because I made this variable changing

for j to N do for i to N do TT[i, j] := diff(T[j], K[i]) end do end do; # The reason because I made this variable changing

then I changed again, in the other way

## TiDDThetaj[i, j] means partial derevatif of T[i] wrt theta[j]

for j to N do for i to N do TiDDThetaj[i, j] := subs(K[1] = diff(*Theta[1](t), t), K[2] = diff(Theta[2](t), t), K[3] = diff(Theta[3](t), t), K[4] = diff(Theta[4](t), t), K[5] = diff(Theta[5](t), t), K[6] = diff(Theta[6](t), t), K[7] = diff(Theta[7](t), t), K[8] = diff(Theta[8](t), t), K[9] = diff(Theta[9](t), t), K[10] = diff(Theta[10](t), t), K[11] = diff(Theta[11](t), t)*, TT[i, j]) end do end do

It's look working because I obtain some think like this:

>TiDDThetaj[1, 3];

(1/2)*M[3]*(2*L[1]^2*(diff(Theta[1](t), t))+2*L[1]*L[2]*(diff(Theta[2](t), t))*cos(Theta[1](t)-Theta[2](t))+2*L[1]*S[3]*(diff(Theta[3](t), t))*cos(Theta[1](t)-Theta[3](t))-2*L[1]*e[3]*(diff(Theta[3](t), t))*sin(Theta[1](t)-Theta[3](t)))

But really this way requests so long. In addition, later I will be oblige to approximate sin( theta([i]-theta[i+1])=1,cos( theta([i]-theta[i+1])=0 but for all the combination possible with N numbers. :p

That's why I should understand how to derivate directly without variable changing to save time.

Thank you for your help!!! I keep on searching.

Ternox