I want to compute the Jacobian of a function in Matlab

Join the discussion
Registration is free. Start your own thread to ask a follow-up.
0 replies · 5K views
Homework Helper
Messages
1,818
Reaction score
33
Hi,

I have a function of the form:
function r=d(f,j)
if (j==1)
r=3*f(1)+f(3)*f(2)-3;
elseif(j==2)
r=f(1)+2*f(2)-4;
else
r=f(1)*f(2)*f(3)-1;
end

and I would like to be able to numerically compute the Jacobian for such a function. I have a method of computing the Jacobian but I am not convinced that it is giving the right answer though.

for i=1:3
for j=1:3
T=zeros(3,1);
T(j)=dd;
J(i,j)=(d(f+T,i)-d(f,i))/dd; %This is the jacobian
end
end

Does anyone have anything better?
 
  • Like
Likes   Reactions: tutordelhi