Matlab 使用jacobian()时出错:“;MuPAD命令错误:索引超过矩阵维数。”;

Matlab 使用jacobian()时出错:“;MuPAD命令错误:索引超过矩阵维数。”;,matlab,Matlab,我有函数F_测试 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 exceed

我有函数F_测试

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{:});
对于这个错误

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\u t
(未知大小)

确定如何使用雅可比(f,v)


(很抱歉,不确定,我很久没有使用MatLab了)

Thnak,但我找到了如何计算它的方法

x=sym('x',[1 2])
jacobian(F_test(x),x)