Differentiation Of A Function.

1 visualizzazione (ultimi 30 giorni)
Pranjal Pathak
Pranjal Pathak il 10 Gen 2012
Hi
I have a symbolic function,
S=sqrt(8).*(3.*X.^3+3.*Y.^2.*X-2.*X);
I need to differentiate it w.r.t X and Y. I did this by-
Tx=diff(S,X);
Ty=diff(S,Y);
I simply got the expression of the differentiation but I need to find the value of the differentiation w.r.t X and Y where X and Y varies from -1 to +1 in steps of 128 (i.e.X=-1:2/127:+1; Y=-1:2/127:+1;[X ,Y]=meshgrid(-1:2/127:+1,-1:2/127:+1);). So, can anyone please help me in finding out the value of the differentiation at all those mentioned points?
Thanking You!

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 12 Gen 2012
syms X Y real
S=sqrt(8).*(3.*X.^3+3.*Y.^2.*X-2.*X);
F = jacobian(S,[X,Y]);
Fun = arrayfun(@(i1)matlabFunction(F(i1)),1:2,'un',0);
solution
[x,y] = meshgrid(linspace(-1,1,128));
p = cellfun(@(z)z(x,y),Fun,'un',0);
[dSdx,dSdy] =p{:};
  1 Commento
Pranjal Pathak
Pranjal Pathak il 7 Set 2012
Thanks a lot!It really did solve my problem.

Accedi per commentare.

Più risposte (1)

Andrew Newell
Andrew Newell il 10 Gen 2012
You could do the following (I tack num onto the name to indicate it is numerical, not symbolic):
Xnum = linspace(-1,1,128); Ynum = Xnum;
[Xnum,Ynum] = meshgrid(Xnum,Ynum);
Txnum = double(subs(Tx,[X,Y],{Xnum,Ynum}));
Tynum = double(subs(Ty,[X,Y],{Xnum,Ynum}));

Community Treasure Hunt

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

Start Hunting!

Translated by