我正在计算jacobian
的双体问题,这个问题的定义是这样的
我已经建立了我的方程组,如下所示
syms y1(t) y2(t) y3(t) y4(t)
r = sqrt(y1^2 + y2^2)
y3 = diff(y1)
y4 = diff(y2)
yd = [y3; y4; -y1/r^3; -y2/r^3]
jacobian(yd, [y1 y2 y3 y4])
但是,当我运行jacobian
函数时,我收到以下错误
第二个参数必须是变量向量。
我做错了什么?
编辑:
我还尝试将y
的{{1}}参数化为无效。
答案 0 :(得分:4)
由于错误消息表明第二个参数必须是变量向量,而在您的情况下,它是:[y1, y2, 1, 1]
。
此外,无需将其初始化为symfun
类,即y1(t)
,y2(t)
,y3(t)
和y4(t)
,您可以将它们定义为{{ 1}}类而不是sym
,y1
,y2
和y3
因此,将它们初始化为y4
并删除您使sym
和y3
等于y4
的行,即
1
你会得到这个输出:
syms y1 y2 y3 y4
r = sqrt(y1^2 + y2^2);
yd = [y3; y4; -y1/r^3; -y2/r^3];
jacobian(yd, [y1 y2 y3 y4])