taking jacobion of function

1 view (last 30 days)
Benjamin
Benjamin on 19 Mar 2019
Answered: Walter Roberson on 19 Mar 2019
I am using the lsqcurvefit function to fit a function that is dependent on two variables. Let's call these two variables, X, and Y.
If my function looks like:
f(x,y) = a*X + b*Y + c
can someone explain why the Jacobian to this is:
Jacobian=[X(:), Y(:), ones(size(X(:)))];
If I take df/dX, I would get "a", df/dY = "b". Why is the answer what I show it to be?
I am confused and I need to understand what is going on, since I need to change this function to something else. I wanted to start with this one, which is an example I was given, and the Jacobian is known.
  2 Comments
Walter Roberson
Walter Roberson on 19 Mar 2019
You appear to be taking the jacobian with respect to [a b c]
Benjamin
Benjamin on 19 Mar 2019
Edited: Benjamin on 19 Mar 2019
Since my function is a function of x and y, shouldn't the jacobian be taken with respect to x and y? a and b are just fitted coefficients. Also, if I were taking the jacobian wrt to [a b c], wouldnt the partial with respect to c by 0? Why do they have it as a column vector of 1's?
Edit: When I try to take Jacobian with respect to x and y, I get that it expexted another number in that matrix. So it appears that taking wrt a, b, c, is right. I just don't know why.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Mar 2019
If you look carefully at https://www.mathworks.com/help/optim/ug/lsqcurvefit.html#buuhcjo-fun then the x it is talking about are the model parameter values, which are distinct from xdata . Your model parameters appear to be a, b, and c so you take the jacobian with respect to those.
Your function contains a + c term. The derivative of c with respect to c is 1, not 0.

More Answers (0)

Categories

Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!