日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 仿真实验_生成仿真的演化网络实验【Python版】

發布時間:2025/3/20 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 仿真实验_生成仿真的演化网络实验【Python版】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

''' 繪制動畫

'''

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import animation

import networkx as nx

import random

fig, ax = plt.subplots()

G = nx.Graph()

G.add_edge(0,1)

def init_network():

# nx.draw(G, node_size=10, node_color='c')

return G,

def animate_network(i):

# 定義網絡動態變化的幾種形式,分別代表刪除邊,刪除節點,維持不動,增加節點,增加邊

d = [-2, -1, 0, 1, 2]

# 從中隨機選擇一種操作

c = random.randint(0,len(d)-1)

edges = list(G.edges())

nodes = list(G.nodes())

if d[c] == -2:

if edges:

u,v = random.choice(edges)

G.remove_edge(u,v)

if d[c] == -1:

if nodes:

node = random.choice(nodes)

G.remove_node(node)

if d[c] == 0:

# 網絡不發生變化

pass

if d[c] == 1:

G.add_node(len(nodes))

if d[c] == 2:

if nodes:

G.add_edge(len(nodes), random.choice(nodes))

nx.draw(G, pos = nx.spring_layout(G), node_size=10, node_color='c',edge_color='grey')

return G,

ani = animation.FuncAnimation(fig=fig, func=animate_network, frames=30, init_func=init_network, interval=100, blit=False,)

ani.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

plt.show()

總結

以上是生活随笔為你收集整理的python 仿真实验_生成仿真的演化网络实验【Python版】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。