以下述程序为例:
syms y
%定义自变量
x1=1;
x2=1;
x3=1;
x4=1;
x=[x1,x2,x3,x4]
N=1;
a=0.6;
b=0.8;
c=0.1;
d=0.1;
e=0.05;
h=0.2;
g=0.05;
k=2;
f1=[g*N-a*k*x1*x2+h*x4-e*x1,a*k*x1*x2-d*k*x2*x3-(c+b+e)*x2,d*k*x2*x3+c*x2-e*x3,b*x2-h*x4-e*x4]%定义函数,以矩阵形式展示
j=jacobian(f1,x)%计算雅可比矩阵
在运行后会出现如下错误提示:
这里的问题是由于jacobian(f,v)函数中,v应该为符号变量, 而不应该为此处的double型,因此可将上述程序改为:
syms x1 x2 x3 x4 y
%定义自变量
x=[x1,x2,x3,x4]
N=1;
a=0.6;
b=0.8;
c=0.1;
d=0.1;
e=0.05;
h=0.2;
g=0.05;
k=2;
f1=[g*N-a*k*x1*x2+h*x4-e*x1,a*k*x1*x2-d*k*x2*x3-(c+b+e)*x2,d*k*x2*x3+c*x2-e*x3,b*x2-h*x4-e*x4]%定义函数,以矩阵形式展示
j=jacobian(f1,x)%计算雅可比矩阵
可得运算结果:
补充:
1.jacobian(f,v)函数中:f是符号函数或者符号表达式,v是符号变量(符号变量由sym定义)