遗忘因子递推最小二乘法FFRLS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import numpy as np
import matplotlib.pyplot as plt
from mxulie import M_sequences
 
if __name__ == '__main__':
    L = 800 #序列长度
    Y = np.zeros(L)
    phi = np.zeros((L,4))
    [M,IM]=M_sequences(L)
    xi = np.sqrt(0.01) * np.random.randn(L,1)
     
    y1 = y2 =0
    u4 = u3 = u2 =u1 =0
     
    P = 1e6 * np.eye(4)
    theta1 = np.zeros((L,4))
    theta1_1 = np.zeros(4)
    lamda = 0.92
 
    for i in np.arange(L):
        if i <= 400:
            theta = np.array([1.5,-0.7,1,0.5])
        else:
            theta = np.array([1,-0.4,1.5,0.2])
 
 
        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]
 
 
        # FFRLS      
        K = np.dot(P,phi[i,:])/(lamda+np.dot(np.dot(phi[i,:],P),phi[i,:]))
        theta1[i,:] = theta1_1 + K*(Y[i]-np.dot(phi[i,:],theta1_1))
        P = (1/lamda)*np.dot(np.eye(4)-phi[i,:]*K.reshape((-1,1)),P)
 
 
 
 
        # 数据更新
        theta1_1 = theta1[i,:]
        y2 = y1
        y1 = Y[i]
 
        u4 = u3
        u3 = u2
        u2 = u1
        u1 = IM[i]

  

posted @   华小电  阅读(1904)  评论(0编辑  收藏  举报
编辑推荐:
· 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训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示