Info

此问题已关闭。 请重新打开它进行编辑或回答。

How to program Triagonometric function and give it's Jacobian matrix

1 次查看(过去 30 天)
and I've give it's function, now my problem is to solve it's Jacobian Matrix
function y = TrigonometricFunctionN_10(x)
n = 10;
y = [];
for i = 1:n
f = 0;
for j = 1:n
f = f + cos(x(j));
end
y_i = n - f + i*(1 - cos(x(i))) - sin(x(i));
y = [y;y_i];
end

回答(1 个)

Walter Roberson
Walter Roberson 2017-5-2
By inspection, for all j ~= i, the only term involving xj will be -cos(xj) (occurring during the summation), and the derivative of that is trivial to calculate. For j == i, you get only -cos(xi) - i * cos(xi) - sin(xi) which is also trivial to calculate the derivative of.
The Jacobian will therefore be 0 everywhere except the diagonal, and will be the derivative of -cos(xj) for all terms except diagonal entry i, where it will be the derivative of -(i+1)*cos(xi) - sin(xi)

此问题已关闭。

产品

Community Treasure Hunt

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

Start Hunting!