关于用Mathematica求解朗伯函数有个小问题
mathematica吧
全部回复
仅看楼主
level 3
墨夕澜
楼主
是这样,我第一次用Mathematica,有个朗伯函数的方程想要求解,但是显示无法利用Solve求解,我想问问是我函数用错了,还是本来就求不了这样的??
类似这种形式
Solve[z == ProductLog[z + 1], z]
2020年06月17日 14点06分
1
level 3
墨夕澜
楼主
有没有知道朗伯函数的呢?
2020年06月18日 01点06分
2
level 3
墨夕澜
楼主
我今天尝试了一下用FindRoot,发现可以求解,但是为什么Solve和NSolve都不行呢?有没有知道的能帮忙解释一下
?
2020年06月18日 03点06分
3
level 9
0笑叹浮生若梦0
这边建议您查看下这三个函数的帮助文档呢
这三个函数有区别的
2020年06月18日 03点06分
4
墨夕澜
好的,谢谢,有看过也有百度搜过,好像是说Solve的搜索范围更广,所以容易求不出?不是很理解
2020年06月21日 02点06分
0笑叹浮生若梦0
@墨夕澜
Solve好像是用的模式匹配,FindRoot是诶个凑数
2020年06月21日 03点06分
墨夕澜
@0笑叹浮生若梦0
好像是,看到帮助文档有这么一句“在求方程的一个解中,FindRoot 从一个指定点开始依次尝试使得越来越接近一个解. 即使方程有多个解,FindRoot 总是返回它发现的第一个解,所求的是哪个解依赖于选择的起点. 只要起点充分靠近某个解,FindRoot 总是返回这个解.”
2020年06月21日 07点06分
level 3
墨夕澜
楼主
刚刚在帮助文档搜别的时候看到了这个解释,似乎多项式方程才能用NSolve解?
2020年06月21日 07点06分
5
xzcyr
NSolve和Solve并非完全解不了超越方程,但是遇到解不出来的情况也无需惊讶。
2020年07月04日 03点07分
1