• 大小: 8KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: Python
  • 标签: Hammerstein  Python  

资源简介

Python写的
在网上找的代码,改了一下,权重随训练变化的
改的有点乱,请多担待
训练参数误差能到2.89%

资源截图

代码片段和文件信息

import numpy as np
import random
import matplotlib.pyplot as plt
import math
import datetime

class PSO():
# PSO参数设置
    def __init__(self pN dim max_iter):
        # 迭代次数max_iter = 1200 粒子数pN = 50 
        self.wmax = 0.9
        self.wmin = 0.4
        self.w = np.zeros(max_iter dtype=float)  # 初始化每一代的权重w
        self.c1 = 2
        self.c2 = 1.6
        self.pN = pN  # 粒子数量
        self.dim = 8  # 搜索维度    为8?? 8是我改的
        self.max_iter = max_iter  # 迭代次数
        self.Xmin = [-2 -2 -2 -2 -2 -2 -2 -2] # mine 参数搜索范围
        self.Xmax = [2 2 2 2 2 2 2 2]
        self.Vmax = 1                     # mine 限定速度范围
        self.Vmin = -1
        self.X = np.zeros((self.pN self.dim))  # 所有粒子的位置和速度
        self.V = np.zeros((self.pN self.dim))
      

评论

共有 条评论