鱼C论坛

 找回密码
 立即注册
查看: 2049|回复: 1

利用python画微分方程组的图

[复制链接]
发表于 2019-9-18 16:17:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想利用odeint()函数解微分方程,做出四个图但是一直出现问题,快奔溃了,新手一枚,希望大神能指点一下,有点急。最后做出来的应该做出四个关于时间的函数图(一年内)


  1. from scipy.integrate import odeint
  2. import numpy as np
  3. def CTANI(Y,t):
  4.     a = 0.269
  5.     b = 4.228
  6.     c = 4.226
  7.     d = 0.060
  8.     e = 0.250
  9.     f = 1.860
  10.     return a*(b-c*exp(-t))+d*W-e*Y-f*Y/(Y+Q)
  11.     def CNOXI(Q,t):
  12.         g = 0.200
  13.         h = 0.050
  14.         f = 1.860
  15.         return g*Y-h*Q-f*Y/(Y+Q)
  16.     def CCHLI(Z,t):
  17.         f = 1.860
  18.         return f*Y/(Y+Q)
  19.     def MNSEDI(W,t):
  20.         i = 10.400
  21.         d = 0.060
  22.         return i*Z-d*W

  23. time = linspace(0,365,1000)
  24. Yinit = array([0.0,2.0])
  25. Qinit = array([0.0,2.0])
  26. Zinit = array([0.0,2.0])
  27. Winit = array([0.0,2.0])
  28. Y = odeint(CTANI,Yinit,time)
  29. Q = odeint(CNOXI,Qinit,time)
  30. Z = odeint(CCHLI,Zinit,time)
  31. W = odeint(MNSEDI,Winit,time)

  32. figure()
  33. plot(time,Y[:,0],label='Y')
  34. plot(time,Q[:,0],label='Q')
  35. plot(time,Z[:,0],label='Z')
  36. plot(time,W[:,0],label='W')
  37. Ylabel('Y')
  38. Qlabel('Q')
  39. Zlabel('Z')
  40. Wlabel('W')
  41. legend()
  42. show()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-9-18 16:20:32
[img][/img]应该是这种图
小甲鱼最新课程 -> https://ilovefishc.com
支持 反对

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

本版积分规则

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

GMT+8, 2026-1-19 10:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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