楼主: Sean泽荣
6106 4

[演化博弈] 演化博弈相位图python画法 [推广有奖]

  • 0关注
  • 0粉丝

已卖:35份资源

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
309 个
通用积分
0.0706
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
76 点
帖子
3
精华
0
在线时间
10 小时
注册时间
2020-5-30
最后登录
2021-3-9

楼主
Sean泽荣 发表于 2020-12-29 20:32:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
import random
import matplotlib.pyplot as plt
# define system in terms of separated differential equations
def f(x,y):
    return x*(1-x)*(5*y-2)
def g(x,y):
    return y*(1-y)*(4*x-2)
# initialize lists containing values

def sys(iv1, iv2, dt, time):
    x = []
    y = []
    # initial values:
    x.append(iv1)
    y.append(iv2)
    #z.append(iv3)
    # compute and fill lists
    for i in range(time):
        x.append(x + (f(x,y)) * dt)
        y.append(y + (g(x,y)) * dt)
        #z.append(z + (h(x,y,z)) * dt)
    return (x, y)


print("\n")
D=[]
for i in range(500):
    a=random.random()
    b=random.random()
    d=sys(a,b,0.01,1000)
    D.append(d)


"""画图"""
#plot
fig = plt.figure(figsize=(17,15))
fig.subplots_adjust(wspace = 0.5, hspace = 0.3)
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)

for n,m in D:
    ax1.plot(n, 'r-')
    ax1.plot(m, 'b-')
    ax2.plot(n, m, color="blue")
#ax1.plot(z, 'g-', label='prey')
ax1.set_title("Dynamic in time")
ax1.set_xlabel("time")
ax1.grid()
ax1.legend(loc='best')


ax2.set_xlabel("x")
ax2.set_ylabel("y")  
ax2.set_title("Phase space")
ax2.grid()

plt.show()


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 演化博弈 Differential Matplotlib Equations Stata专版

沙发
fengfen1961 在职认证  发表于 2021-3-22 17:11:00
请问自己需要修改哪里呢?
老是出现Traceback (most recent call last):
  File "C:\Users\28102\Desktop\Python\xiangweitu.py", line 30, in <module>
    d=sys(a,b,0.01,1000)
  File "C:\Users\28102\Desktop\Python\xiangweitu.py", line 19, in sys
    x.append(x+(f(x,y))*dt)
  File "C:\Users\28102\Desktop\Python\xiangweitu.py", line 5, in f
    return x*(1-x)*(5*y-2)
TypeError: unsupported operand type(s) for -: 'int' and 'list'

藤椅
xuezhongcao 在职认证  发表于 2021-3-26 10:04:20
我也想知道怎么解决这个问题???

板凳
zhonggumeng155 发表于 2021-4-9 10:20:59
把append里的x改成xi,y改成yi试试?

报纸
htsong76 发表于 2023-12-7 18:48:15
     # compute and fill lists
    for i in range(time):
        x.append(x[-1] + f(x[-1],y[-1]) * dt)
        y.append(y[-1] + g(x[-1],y[-1]) * dt)

这两行要改,我的改动如上。

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-11 01:01