字典翻译 问答 小学 数学 【a*exp(a)=3这个怎么解a啊用matlab算出来是solve('a*exp(a)=3')a=lambertw(0,3)】
问题标题:
【a*exp(a)=3这个怎么解a啊用matlab算出来是solve('a*exp(a)=3')a=lambertw(0,3)】
问题描述:

a*exp(a)=3

这个怎么解a啊

用matlab算出来是

solve('a*exp(a)=3')

a=lambertw(0,3)

胡秉巨回答:
  并不是所有的方程的解都是初等函数, 也就是说很多方程的解是不能用我们所学的任何函数的有限形式表示, 其中"一般的五次方程就没有公式解"就是一个很好的例子.   对于x*e^x=y这种形式的方程的解就不是初等函数(特殊点除外), 所以为了解此类方程就定义了一个新的函数lambetW(x), 这个函数实际是y=x*e^x的反函数, 不过这个函数在x<0时不是单调的, 所以对于x<0的部分要定义两个反函数, 与x>0保持一致的记为lambetW(0,x), 而另一个记为lanbertW(-1,x), 当然还有对应复数形式的, 咱不讨论.   对于这种超越方程我一般用数值方法求其任意精度的近似解, 因为像这样用函数表示的解在实际应用中一般没什么意义.   将方程x*e^x=A写成函数f(x)=x*e^x-A   则牛顿迭代法的形式为: x[k+1]=x[k]-(x[k]*e^x[k]-A)/(e^x[k]+x*e^x[k])   对于上面A=3, 取x0=2   x0=2.000000000000000 error=1.2e+001   x1=1.468668616569946 error=3.4e+000   x2=1.153529846128843 error=6.6e-001   x3=1.057424066730515 error=4.4e-002   x4=1.049950720056189 error=2.4e-004   x5=1.049908896265363 error=7.6e-009   x6=1.049908894964040 error=4.4e-016   经过6次迭代已经达到了16位精度, 所以方程x*e^x=3的解为   x=1.049908894964040.
点击显示
数学推荐
热门数学推荐
  • 语文
  • 数学
  • 英语
  • 科学
  • 作文