我正在尝试解决这个系统:
x = a + e(c - e*x/((x^2+y^2)^(3/2)))
y = b + c(d - e*y/((x^2+y^2)^(3/2)))
我正在使用fsolve
,但无论我输入什么作为迭代的起点,我得到的答案是起点是方程的根。
close all, clear all, clc
a = 1;
b = 2;
c = 3;
d = 4;
e = 5;
fsolve(@u1FsolveFUNC, [1,2])
功能:
function outvar = u1FsolveFUNC(invar)
global a b c d e
outvar = [...
-invar(1) + a + e*(c - e*(invar(1) / ((invar(1)^2 + invar(2)^2)^(3/2)))) ;
-invar(2) + b + e*(d - e*(invar(2) / ((invar(1)^2 + invar(2)^2)^(3/2))))]
end
我可以尝试使用[1,2]
不变量,它会说这是方程的根,尽管正确答案[1,2]
是[12.76,15.52]
想法?