我是靠谱客的博主 微笑花瓣,这篇文章主要介绍Python Sympy计算变限积分积分函数含有对数(log)时,遇到的问题。,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import sympy Z, x, t ,H1 ,H2,H3,H4= sympy.symbols('Z,x,t,H1,H2,H3,H4') z11 = Z ** 3 + 0.01 H1 = Z ** 2 * (- ( -16 * 41.3399927 * Z ** 3 - 48 * 41.3399927 * sympy.log(Z) - Z * (16 * -1634.89996 - 144 * 41.3399927) - ( -240 * 41.3399927 * Z ** 9 - 120 * 41.3399927 * Z ** 6 - 20 * 41.3399927 * Z ** 3 - 15 * 41.3399927 + Z ** 11 * (-60 * 190592.559 + 360 * -1634.89996 - 1620 * 41.3399927) + Z ** 10 * ( -120 * -1634.89996 + 1080 * 41.3399927) + Z ** 8 * ( -15 * 190592.559 + 90 * -1634.89996 - 405 * 41.3399927) + Z ** 7 * ( -24 * -1634.89996 + 216 * 41.3399927) + Z ** 4 * (-15 * -1634.89996 + 135 * 41.3399927)) / ( 15 * Z ** 12)) / 190592.559 + ( -15.8415841584158 * 41.3399927 * z11 ** 1.0 - 48 * 41.3399927 * sympy.log(0.996688717477339 * z11 ** (1 / 3)) - 0.996688717477339 * ( 16 * -1634.89996 - 144 * 41.3399927) * z11 ** ( 1 / 3) - 0.0693736006666667 * (-19.8019801980198 * 41.3399927 * z11 ** 1.0 - 117.63552592883 * 41.3399927 * z11 ** 2.0 - 232.941635502635 * 41.3399927 * z11 ** 3.0 - 15 * 41.3399927 + 0.967376249734144 * (-120 * -1634.89996 + 1080 * 41.3399927) * z11 ** (10 / 3) + 0.977050012231486 * (-24 * -1634.89996 + 216 * 41.3399927) * z11 ** (7 / 3) + 0.986820512353801 * (-15 * -1634.89996 + 135 * 41.3399927) * z11 ** (4 / 3) + 0.973814723602218 * z11 ** 2.66666666666667 * (-15 * 190592.559 + 90 * -1634.89996 - 405 * 41.3399927) + 0.964172993665562 * z11 ** 3.66666666666667 * (-60 * 190592.559 + 360 * -1634.89996 - 1620 * 41.3399927)) / z11 ** 4.0) / 190592.559) print('**************************************************') I1 = sympy.integrate(H1, (Z, 1, x)) print("积分为:", I1) print('****************')

代码如上

函数表达式没用numpy.log表示对数是因为,接下来要对H1利用sympy.integrate方法求积分。用numpy.log会出错误。

这个积分貌似陷入了无限循环,始终解不出来。

我将方程转换成MATLAB代码进行运行,几秒钟就运行出结果了。我个人觉得是sympy库的计算能力问题。由于是变上限积分,上限为x,所以不能用Scipy进行求解。

大佬有知道怎么出结果吗?

最后

以上就是微笑花瓣最近收集整理的关于Python Sympy计算变限积分积分函数含有对数(log)时,遇到的问题。的全部内容,更多相关Python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部