鱼C论坛

 找回密码
 立即注册
查看: 2865|回复: 8

有一个两个参数的积分想问问大家该怎么写

[复制链接]
发表于 2022-4-16 09:47:54 | 显示全部楼层 |阅读模式
10鱼币
公式就如图1所示有v'和γ两个参数,并且里面嵌套了很多函数,其中f这个函数还需要对v_i这个变量积分,且f里面还有一个判断条件,下面的代码是我自己写的,其他部分都没问题了就是积分那里那一块怎么算都是返回0,想求教一下各路大神
def gamma(v):
    return ((3*v) / (4*vl))**0.5

def photon_energy_density(vi):
    g = gamma(vi)
    lvi = syn_luminosity_jet(g)
    R2 = R**2
    return (9/4)*( lvi / (4*pi*R2*c) )

def seed_photon_number_density(vi):
    g = gamma(vi)
    usy = photon_energy_density(vi)
    return usy / ( h*vi )

def f_ic(vi,g,v):
    g2 = g**2
    x_ic = (v)/(4*g2*vi)
    e_ic = (h*v)/(g*mc)
    sig = (4*g*h*v)/(mc)
    q = (e_ic)/( sig*(1-e_ic) )
    if 0 <= q <=1:
        lnq = np.log(q)
        q2 = q**2
        sigq = sig*q
        sigq2 = sigq**2
        a0 = ( sigq2 ) / ( 1+sigq )
        a1 = 2*q*lnq+1+q-2*q2+(1/2)*a0*(1-q)
        return x_ic*a1
    else:
        return 0

def p_ssc(v,g):
    r02 = r0**2
    def sactter(vi,g,v):
        return f_ic(vi,g,v)*seed_photon_number_density(vi)
    add,err = integrate.quad(sactter, 1e8, 1e30, args=(g,v))
    return 8*pi*r02*c*h*add

图片1.png
图片2.png
图片3.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 09:48:36 | 显示全部楼层
里面其他的变量都是一些常数,有需要用到的话我再贴上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-16 11:11:40 From FishC Mobile | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-4-16 11:40 编辑

请问图中的 h 和 mec^2 怎么获得?你代码中的 h 和 mc 也没有定义(第18行、第19行),是怎么知道值的?
me 是电子质量?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 11:58:01 | 显示全部楼层
傻眼貓咪 发表于 2022-4-16 11:11
请问图中的 h 和 mec^2 怎么获得?你代码中的 h 和 mc 也没有定义(第18行、第19行),是怎么知道值的?
m ...

是的 h是普朗克常数,mc是电子能量(me*c**2),me是电子质量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 12:00:44 | 显示全部楼层
其他一些常数我是这么设置的
##常数, ##电子质量, ##光速, ##电子能量, ##普朗克常数,
##自然对数, ##电子电量, ##玻尔兹曼常量, ##电子散射截面,
##电子经典半径
pi, me, c, c2, mc, h, lnN,\
e, k, sigmat, r0 = [3.14159, 9.109e-28, 2.997925e+10, (2.997925e+10)**2, (9.109e-28)*( (2.997925e+10) **2),
                6.626e-27, 2.718, 4.803242e-10, 1.38e-16, 0.665e-24, 2.8179e-13
                 ]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-16 12:27:17 From FishC Mobile | 显示全部楼层
题目太难了,但至于为什么老是输出 0,可能是参数影响,因为程序语言对于浮点数太小无法正常计算的,根据你给的参数,其中包含 6.626e-27 这类的浮点(表示小数点后27位)基本程序语言无法计算,都视为 0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 14:45:38 | 显示全部楼层
傻眼貓咪 发表于 2022-4-16 12:27
题目太难了,但至于为什么老是输出 0,可能是参数影响,因为程序语言对于浮点数太小无法正常计算的,根据你 ...

前面有个稍微简单点的 我也用这种方法写出来了那个没有问题就这里这个不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-16 16:08:33 | 显示全部楼层
snowJR 发表于 2022-4-16 14:45
前面有个稍微简单点的 我也用这种方法写出来了那个没有问题就这里这个不行

抱歉了,这我就不清楚了,这是有关电子学,微积分学等知识,太难了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-16 18:29:11 | 显示全部楼层
傻眼貓咪 发表于 2022-4-16 16:08
抱歉了,这我就不清楚了,这是有关电子学,微积分学等知识,太难了。

哈哈哈哈 谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 19:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表