我有F_test.m函数
function [ F_t ] = F_test( x )
F_t(1)=x(2)^2+5*x(1);
F_t(2)=x(1)+7*x(2);
end我想计算这个函数的雅可比矩阵
[dF1/dx(1), dF2/dx(1) ; dF1/dx(2), dF2/dx(2)]但是当我尝试这样做的时候,我得到了一个错误
jacobian(F_test(x),x)
Error using mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.
Error in sym/subsref (line 1577)
B = mupadmex('symobj::subsref',A.s,inds{:});
Error in F_test (line 4)
F_t(1)=x(2)^2+5*x(1);即使是这样
syms x
jacobian([x(1)+x(2),x(1)*x(2)],x)
Error using mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.
Error in sym/subsref (line 1577)
B = mupadmex('symobj::subsref',A.s,inds{:});发布于 2014-04-19 21:32:05
Thnak,但我找到了计算这个的方法。
x=sym('x',[1 2])
jacobian(F_test(x),x)发布于 2014-04-19 21:25:19
对于此错误
Error in F_test (line 4)
F_t(1)=x(2)^2+5*x(1);我认为你的其中一个问题可能是这个:你正在做这个
F_t(1)=x(2)^2+5*x(1);
F_t(2)=x(1)+7*x(2);但F_t从未在您的函数中初始化(大小未知)
并确定如何使用jacobian(f,v)
http://www.mathworks.fr/fr/help/symbolic/jacobian.html
(对不起,不确定,我很久没用过MatLab了)
https://stackoverflow.com/questions/23170394
复制相似问题