微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我试图在python中解决基于延迟微分方程和常微分方程的模型,但遇到了几个错误

如何解决我试图在python中解决基于延迟微分方程和常微分方程的模型,但遇到了几个错误

我 我试图基于延迟微分方程和常微分方程求解模型以生成模拟和图形。 但是遇到了几个错误,比如module is not callable。 在 TypeError Traceback 中(最近一次调用最后一次) 在 () 36 g=λ t:0 37 y0 = c1_0、c2_0、c3_0、c4_0、c5_0、c6_0、c7_0、c8_0、c9_0、c10_0、c11_0、c12_0、c13_0、c14_0、c15_0、c16_0、c18_0、c10、20、c10、20、c9_0,c25_0,c26_0,c27_0,c28_0,c29_0,c30_0,c31_0 ---> 38 结果= ddeint(TNF_alpha_model,g,tt,args=(k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,k22,k23,k24,k25,k26,k27,k28,k29,p,t0)) 39 c1、c2、c3、c4、c5、c6、c7、c8、c9、c10、c11、c12、c13、c14、c15、c16、c17、c18、c19、c20、c21、c22、c23、c24、c25,c26,c27,c28,c29,c30,c31 = 结果.T 40

类型错误:“模块”对象不可调用

import numpy as np
import matplotlib.pyplot as plt
import math as m
import pylab
import ddeint as ddeint
# VALUES OF ParaMETERS
k1 = 0.185*10**(-3)
k2 = 0.00125*10**(-3)
k3 = 0.185*10**(-3)
k4 = 0.00125*10**(-3) 
k5 = 0.185*10**(-3)
k6 = 0.00125*10**(-3)
k7 = 0.185*10**(-3)
k8 = 0.00125*10**(-3) 
k9 = 0.185*10**(-3)
k10 = 0.00125*10**(-3)
k11 = 0.37*10**(-3)
k12 = 0.014*10**(-3)
k13 = 0.00125*10**(-3) 
k14 = 0.37*10**(-3)
k15 = 0.185*10**(-3)
k16 = 0.00125*10**(-3)
k17 = 0.37*10**(-3)
k18 = 0.5*10**(-3)
k19 = 0.2*10**(-3)
k20 = 0.1*10**(-3)
k21 = 0.1*10**(-3)
k22 = 0.06*10**(-3)
k23 = 100*10**(-3)
k24 = 0.185*10**(-3)
k25 = 0.00125*10**(-3)
k26 = 0.37*10**(-3)
k27 = 0.37*10**(-3)
k28 = 0.5*10**(-3)
k29 = 750*10**(-3)
p = 1.75*10**(-3)


# initial values
c1_list = np.array([ 1,10]) #TNF-a 
c2_0 = 100 #TNFR1 
c3_0 = 0 # TNF-a/TNFR1
c4_0 = 150 #TradD
c5_0 = 0 # TNF-a/TNFR1/TradD
c6_0 = 100 #TRAF2
c7_0 = 0 #TNF-a/TNFR1/TradD/TRAF2
c8_0 = 100 #RIP-1
c9_0 = 0 # TNF-a/TNFR1/TradD/TRAF2/RIP-1,early complex
c10_0 = 100 # IKK
c11_0 = 0 #TNF-a/TNFR1/TradD/TRAF2/RIP-1/IKK,survival complex
c12_0 = 0 # IKK
c13_0 = 250 # Ik-B/NF-kB
c14_0 = 0 #Ik-B/NF-kB/IKK
c15_0 = 0 # Ik-B-P
c16_0 = 0 #NF-kB
c17_0 = 100 #FADD
c18_0 = 0 #TNF-a/TNFR1/TradD/TRAF2/RIP-1/FADD
c19_0 = 0 #TradD/TRAF2/RIP-1/FADD
c20_0 = 80 #Caspase-8
c21_0 = 0 #TradD/TRAF2/RIP-1/FADD/caspase-8,death complex (death-inducing signaling complex—disC)
c22_0 = 0 #Caspase-8
c23_0 = 200 #Caspase-3
c24_0 = 0 #Caspase-8/caspase-3
c25_0 = 0 #Caspase-3
c26_0 = 0 #DNA-fragmentation
c27_0 = 0 #c-IAP
c28_0 = 0 #Caspase-3/c-IAP
c29_0 = 800 #DNA (intact)
c30_0 = 0 # Caspase-3/DNA
c31_0 = 0 #IkB

t_max=36000
tt= np.linspace(0,t_max + 1,t_max+1)
t0 = 20
for c1_0 in c1_list:
    def TNF_alpha_model(y,t,k1,t0):
      c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c31 = y
      dc1dt = -k1*c1*c2 + k2*c3
      dc2dt = -k1*c1*c2 + k2*c3 + k17*c18 + k11*c11
      dc3dt = k1*c1*c2 - k2*c3 - k3*c3*c4 + k4*c5
      dc4dt = -k3*c3*c4 + k4*c5 + k11*c11 + k20*c21
      dc5dt =  k3*c3*c4 - k4*c5 - k5*c5*c6 + k6*c7
      dc6dt = -k5*c5*c6 + k6*c7 + k11*c11 + k20*c21
      dc7dt = k5*c5*c6 - k6*c7 - k7*c7*c8 + k8*c9
      dc8dt = -k7*c7*c8 + k8*c9 + k11*c11 + k20*c21
      dc9dt = k7*c7*c8 - k8*c9 - k9*c9*c10 + k10*c11 - k15*c9*c17 + k16*c18
      dc10dt = - k9*c9*c10 + k10*c11 + k14*c14
      dc11dt = k9*c9*c10 - k10*c11 - k11*c11
      dc12dt = -k12*c12*c13 + k13*c14 + k11*c11
      dc13dt = -k12*c12*c13 + k13*c14 + k29*c16*c31
      dc14dt = k12*c12*c13 - k13*c14 - k14*c14
      dc15dt = k14*c14
      dc16dt = k14*c14 - k29*c16*c31
      dc17dt = -k15*c9*c17 + k16*c18 + k20*c21
      dc18dt = k15*c9*c17 - k16*c18 - k17*c18
      dc19dt = k17*c18 - k18*c19*c20 + k19*c21
      dc20dt = -k18*c19*c20 + k19*c21
      dc21dt = k18*c19*c20 - k19*c21 - k20*c21
      dc22dt = k20*c21 - k21*c22*c23 + k22*c24 + k23*c24
      dc23dt = -k21*c22*c23 + k22*c24
      dc24dt = k21*c22*c23 - k22*c24 - k23*c24
      dc25dt = k23*c24 - k28*c27*c25 - k24*c29*c25 + k25*c30 + k26*c30
      dc26dt = k26*c30
      dc27dt = P*c16(t - t0) - k28*c27*c25
      dc28dt = k28*c27*c25
      dc29dt = -k24*c29*c25 + k25*c30
      dc30dt = k24*c29*c25 - k25*c30 - k26*c30
      dc31dt = P*c16(t - t0) - k29*c16*c31
      return dc1dt,dc2dt,dc3dt,dc4dt,dc5dt,dc6dt,dc7dt,dc8dt,dc9dt,dc10dt,dc11dt,dc12dt,dc13dt,dc14dt,dc15dt,dc16dt,dc17dt,dc18dt,dc19dt,dc20dt,dc21dt,dc22dt,dc23dt,dc24dt,dc25dt,dc26dt,dc27dt,dc28dt,dc29dt,dc30dt,dc31dt
    g=lambda t:0
    y0 = c1_0,c2_0,c3_0,c4_0,c5_0,c6_0,c7_0,c8_0,c9_0,c10_0,c11_0,c12_0,c13_0,c14_0,c15_0,c16_0,c17_0,c18_0,c19_0,c20_0,c21_0,c22_0,c23_0,c24_0,c31_0
    results= ddeint(TNF_alpha_model,t0))
    c1,c31 = results.T
    
   
    
    plt.figure()
    plt.plot(t,label='Survival complex',c= 'g')
    plt.scatter(t,c= 'g')
    plt.title('complex evolution at ligand conc.  nM')
    plt.xlabel('Time in seconds' )
    plt.ylabel('Conc.[in nM] of complex formed')
    plt.figure()
    plt.scatter(t,label='death complex',c= 'r')
    plt.plot(t,c= 'r')
    plt.title('complex evolution at ligand conc. ' + '  nM')
    plt.xlabel('Time in seconds' )
    plt.ylabel('Conc.[in nM] of complex formed')
    plt.legend()

解决方法

当你调用 ddeint 时你有一个错字,你已经导入了模块本身,当我相信你想从模块中导入函数 ddeint 时。你应该替换:

import ddeint as ddeint

与:

from ddeint import ddeint

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。