送交者: Nixrreg 于 2007-04-15, 00:20:43:
如果真要求解,我昨天说可以写成
x = f(x) = b*ln(x) - a
找出驻点x = f(f(...f(x))。数学家还可以关心有没有这个点的问题。
如果真要追根究底,对给定的a,b找出x的数值解,建议用MATLAB或FORTRAN。用MATLAB/FORTRAN的好处是,方程可能有复数解。MATLAB能自动给出复数的形式;如果用FORTRAN,则需要定义X为复变量。其他语言没有native complex number支持的不建议用于求解。
下面是伪码
a = 1
b = -1
x0 = 1.1
x = b*log(x0) - a
while (abs(x - x0) > 1e-7)
x0 = x
x = b*log(x) - a
end
如果并不求甚解,则可采用我说的做图法:用计算机画两条曲线:
y = x + a
y = b*log(x)
则解一目了然。