未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘jacobian‘【matlab问题集_01】

在MATLAB编程中遇到错误提示:未定义与'double'类型的输入参数相对应的函数'jacobian'。问题在于jacobian函数的输入变量v应为符号变量而非double型。解决方案是将v转换为符号变量类型。改正后的程序能够正确计算并得到运算结果。

以下述程序为例:

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)%计算雅可比矩阵

可得运算结果:

补充:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值