python程序设计sgnx_Python中符号函数的数值积分

我是Python新手,所以我的一些问题或想法可能是愚蠢的,但是。。。在

我想画一个分布D(x)。m和s2是一些给定的实数。有人告诉我,绘制D(x)图的最好方法是写一个函数,它可以解出每个x的积分(在函数D(x)内)

fjBY3.png

其中chi2是这样定义的:

pxTJ8.png

所以,根据我对数学的了解,我应该先积分,然后才能解出每个x,如果我错了,请纠正我。在

我也被告知要用数值计算积分,但我不知道怎么做,因为函数包含符号。

我已经尝试过使用符号积分(尽管我被告知了什么),但是内核从来没有结束积分的过程,当我试图用数值计算它的时候。当我尝试数字积分时,我当然使用了lamdify。在

下面是我的代码:

1试解符号积分from sympy import symbols, integrate, sqrt, exp, oo

s2= 0.0628777415586

m= 5.02422436191

x, n, z=symbols ('x, n, z')

integrate(exp(-n/(z+1) * (x-m)**2/2*s2) * 1/2 / sqrt(z+1), (z, 0, oo))

内核,永不停止工作。[我在配方中加入了1/2而不是chi2,打算稍后更改]

另一种方法是尝试求解数值积分(从函数D(x)调用它)

^{pr2}$

错误来自带有return的行,它说:TypeError: unsupported operand type(s) for *: 'float' and 'rv_frozen'

我想问题是因为chi2被冻住了,但是如何使它工作呢?我的代码有什么错误吗?我不知道我写的是不是对的,以及如何解决这个问题。。。

我已经为此工作了很长时间,有点绝望,所以任何帮助都是欢迎的。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值