Bonjour,
Je souhaite crée une fonction qui en sortie me donnera les valeurs de la matrice jacobienne (matrice des dérivées partielles) et où en entrée je lui impose 15 variables (E, X, Y, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6)
voila ma fonction :
------------------------------------------------------------------------------------------------
function J=jacobi(E, X, Y, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6)
syms E x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 X Y real
fA1 = log(exp(E)/sqrt((X-x1)^2 + (Y-y1)^2));
fA2 = log(exp(E)/sqrt((X-x2)^2 + (Y-y2)^2));
fA3 = log(exp(E)/sqrt((X-x3)^2 + (Y-y3)^2));
fA4 = log(exp(E)/sqrt((X-x4)^2 + (Y-y4)^2));
fA5 = log(exp(E)/sqrt((X-x5)^2 + (Y-y5)^2));
fA6 = log(exp(E)/sqrt((X-x6)^2 + (Y-y6)^2));
A = jacobian([fA1;fA2;fA3;fA4;fA5;fA6],[E X Y x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6]);
J=eval(A);
------------------------------------------------------------------------------------------------
un test du type
------------------------------------------------
mprior = [log(15) 4 13 3 12 7 18 15 19 2 6 12 13 17 2];
F=jacobi(mprior)
------------------------------------------------
me retourne :
************************************
[ 1, -1/2/(X^2-2*X*x1+x1^2+Y^2-2*Y*y1+y1^2)*(2*X-2*x1), -1/2/(X^2-2*X*x1+x1^2+Y^2-2*Y*y1+y1^2)*(2*Y-2*y1), -1/2/(X^2-2*X*x1+x1^2+Y^2-2*Y*y1+y1^2)*(-2*X+2*x1), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x1+x1^2+Y^2-2*Y*y1+y1^2)*(-2*Y+2*y1), 0, 0, 0, 0, 0]
[ 1, -1/2/(X^2-2*X*x2+x2^2+Y^2-2*Y*y2+y2^2)*(2*X-2*x2), -1/2/(X^2-2*X*x2+x2^2+Y^2-2*Y*y2+y2^2)*(2*Y-2*y2), 0, -1/2/(X^2-2*X*x2+x2^2+Y^2-2*Y*y2+y2^2)*(-2*X+2*x2), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x2+x2^2+Y^2-2*Y*y2+y2^2)*(-2*Y+2*y2), 0, 0, 0, 0]
[ 1, -1/2/(X^2-2*X*x3+x3^2+Y^2-2*Y*y3+y3^2)*(2*X-2*x3), -1/2/(X^2-2*X*x3+x3^2+Y^2-2*Y*y3+y3^2)*(2*Y-2*y3), 0, 0, -1/2/(X^2-2*X*x3+x3^2+Y^2-2*Y*y3+y3^2)*(-2*X+2*x3), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x3+x3^2+Y^2-2*Y*y3+y3^2)*(-2*Y+2*y3), 0, 0, 0]
[ 1, -1/2/(X^2-2*X*x4+x4^2+Y^2-2*Y*y4+y4^2)*(2*X-2*x4), -1/2/(X^2-2*X*x4+x4^2+Y^2-2*Y*y4+y4^2)*(2*Y-2*y4), 0, 0, 0, -1/2/(X^2-2*X*x4+x4^2+Y^2-2*Y*y4+y4^2)*(-2*X+2*x4), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x4+x4^2+Y^2-2*Y*y4+y4^2)*(-2*Y+2*y4), 0, 0]
[ 1, -1/2/(X^2-2*X*x5+x5^2+Y^2-2*Y*y5+y5^2)*(2*X-2*x5), -1/2/(X^2-2*X*x5+x5^2+Y^2-2*Y*y5+y5^2)*(2*Y-2*y5), 0, 0, 0, 0, -1/2/(X^2-2*X*x5+x5^2+Y^2-2*Y*y5+y5^2)*(-2*X+2*x5), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x5+x5^2+Y^2-2*Y*y5+y5^2)*(-2*Y+2*y5), 0]
[ 1, -1/2/(X^2-2*X*x6+x6^2+Y^2-2*Y*y6+y6^2)*(2*X-2*x6), -1/2/(X^2-2*X*x6+x6^2+Y^2-2*Y*y6+y6^2)*(2*Y-2*y6), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x6+x6^2+Y^2-2*Y*y6+y6^2)*(-2*X+2*x6), 0, 0, 0, 0, 0, -1/2/(X^2-2*X*x6+x6^2+Y^2-2*Y*y6+y6^2)*(-2*Y+2*y6)]
************************************
Bref, il me retourne les formules des dérivées partielles et non les valeurs de ceux ci !!
Merci pour votre aide !Configuration: Windows XP
Firefox 3.0.4