taking jacobion of function

3 ビュー (過去 30 日間)
Benjamin
Benjamin 2019 年 3 月 19 日
回答済み: Walter Roberson 2019 年 3 月 19 日
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 件のコメント
Walter Roberson
Walter Roberson 2019 年 3 月 19 日
You appear to be taking the jacobian with respect to [a b c]
Benjamin
Benjamin 2019 年 3 月 19 日
編集済み: Benjamin 2019 年 3 月 19 日
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.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2019 年 3 月 19 日
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.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with Curve Fitting Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by