x*ln(x)=-0.37,x能求出来么?跪求算法。。。
发布网友
发布时间:2024-10-16 13:38
我来回答
共5个回答
热心网友
时间:2024-11-10 02:53
这个方程式超越方程,没有解析解的,有计算器或者编程软件的话倒是可以很容易就做出来的,也可以用简单的计算器采用牛顿迭代法可以叠代出来
先令y=1/x=>ln(y)/y=0.37=>y=ln(y)/0.37
令f(y)=y-ln(y)/0.37
f(y)'=1-1/(0.37y)显然当y<1/0.37时f(y)<0当y>1/0.37时,f(y)'>0
故f(y)在y=1/0.37时取最小值
此时f(1/0.37)=1/0.37-log(1/0.37)/0.37=0.016>0
故在y>0时y-ln(y)/0.37>0
故原方程是没有解的
你应该是-0.37这个系数错了
理论上我们考虑y=ln(y)/a
同样有f(y)最小值=1/a-ln(1/a)/a<0=>(1+log(a))<o=>0<a<1/e=0.36788
这里的a就是你题目中的那个参数的相反数,也就是要想有解你的-0.37是不行的,应该是一个-1/e到0之间的数,假如是另外一个满足条件的数的话直接采用牛顿迭代很简单的编程就可以得出结果了
对了,一楼的答案看起来是对的,这是凑巧,因为取最小值的位置-0.36788与你所写的-0.37比较接近,实际上你按照他的方法那个参数(-0.37)随便是多少他解出来都是1/e
希望能帮到你
热心网友
时间:2024-11-10 02:54
x*ln(x)=-0.37
则e^[x*ln(x)]=e^(-0.37)
即x^x=e^(-0.37)
这是一个超越方程,方程右边是一个常数,不妨用A来表示
x^x=A
用数值方法可解出近似解来,用Matlab应该也可以很方便地给出近似解
热心网友
时间:2024-11-10 02:54
两边同时变成以e 为底的数,
接着化成ln(x)乘e 的x次=e 的0.37次
两边求导得
e的x次乘(1+ln(x)) 等于0
得ln(x)=-1
得x=1/e
热心网友
时间:2024-11-10 02:55
无解 ,
x*ln(x)+0.37在(0,1/e]单调减,[1/e,+∞)单调增。
在x=1/e时有最小值0.002120559
热心网友
时间:2024-11-10 02:56
这个只有数值解,而没有说公式可解的,没学过数值分析麽