a*lgx+b*x=c

问题描述:

a*lgx+b*x=c
a、b、c是常数
求x
1个回答 分类:数学 2014-09-22

问题解答:

我来补答
楼上的回答是求不出x的值的.
事实上楼主的方程是典型的超越方程,无法用a,b,c表示x的值,也就是方程是不可解的.
但是如果a,b,c是已知的数值,我们可以求出任意精确的x的数值解.方法有如下:a*lgx+b*x=c
方法1:将方程化为x=(c-algx)/b.
先找出一个使方程两边比较接近的x的值t,然后考虑函数
f(x)=(c-algx)/b.
那么原方程就是求f(x)的不动点的近似值.可以利用不断的迭代求出充分近似的x:
x约等于f(f(f(……f(t)))),迭代的次数越多,得到的x的值也就越精确.
方法2:将lnx用Taylor公式做幂级数展开,得到一个关于x的多项式方程:
lnx=2(x-1)/(x+1)+1/3*(x-1)^2/(x+1)^2+1/5*(x-1)^5/(x+1)^5+…….
那么取幂级数展开的项数越多,得到的方程的解也就越精确.
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下