import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
L = 100 #序列长度
Y = np.zeros(L)
phi = np.zeros((L,4))
u = np.random.randn(L,1)
xi = np.sqrt(0) * np.random.randn(L,1)
alpha = 1 #
c = 0.1 # 修正因子
y1 = y2 =0
u4 = u3 = u2 =u1 =0
theta = np.array([1.5,-0.7,1,0.5])
P = 1e6 * np.eye(4)
theta1 = np.zeros((L,4))
theta1_1 = np.zeros(4)
for i in np.arange(L):
phi[i,:] = np.array([y1 , y2 ,u3 ,u4])
#Y[i] = 1.5*y1 -0.7*y2 + u3 + 0.5*u4 + xi[i]
Y[i] = np.dot(theta,phi[i,:]) + xi[i]
# RGC
K = (alpha*phi[i,:])/(c+np.dot(phi[i,:],phi[i,:]))
theta1[i,:] = theta1_1 + K*(Y[i]-np.dot(phi[i,:],theta1_1))
# 数据更新
theta1_1 = theta1[i,:]
y2 = y1
y1 = Y[i]
u4 = u3
u3 = u2
u2 = u1
u1 = u[i]
plt.subplot(3,1,1)
plt.title('输入-白噪声')
plt.step(np.arange(L),u)
plt.subplot(3,1,2)
plt.title('输出-Y')
plt.plot(np.arange(L),Y)
plt.subplot(3,1,3)
plt.title('系数Theta')
plt.plot(theta1)
plt.subplots_adjust(hspace = 0.45)
plt.show()

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人