精华内容
下载资源
问答
  • 递推最小二乘法

    2014-05-18 16:41:22
    递推最小二乘法 原理 过程 以及推导
  • 最小二乘法和增广最小二乘法的MATLAB源码,文件主要包括:产生白噪声和有色噪声的代码,递推最小二乘法,增广最小二乘法,绘图plot
  • 递推最小二乘法与广义最小二乘法matlab源程序,仅供大家编程学习参考!
  • 用matlab实现递推最小二乘法。 源代码。。 用matlab实现递推最小二乘法。 源代码。。 用matlab实现递推最小二乘法。 源代码。。 用matlab实现递推最小二乘法。 源代码。。
  • 最小二乘法,递推最小二乘法C语言源程序//init input#define row_y 29#define col_y 4double uk[31]={ 0,1.147,0.201,-0.787,-1.589,-1.052,0.866,1.152,1.573,0.626,0.433,-0.958,0.810,-0.044,0.947,-1.474,-0.719,...

    最小二乘法,递推最小二乘法C语言源程序

    //init input

    #define row_y 29

    #define col_y 4

    double uk[31]={ 0,1.147,0.201,-0.787,-1.589,-1.052,0.866,1.152,1.573,0.626,0.433,

    -0.958,0.810,-0.044,0.947,-1.474,-0.719,-0.086,-1.099,1.450,1.151,

    0.485,1.633,0.043,1.326,1.706,-0.340,0.890,1.144,1.177,-0.390};

    double yk[31];

    double **fai;

    void initinput(void)

    {

    //ifstream inFile;

    int temp = 0;

    ofstream outFile;

    outFile.open("yk.txt");

    yk[0] = yk[1] = yk[2] = 0;

    for(int i = 3; i < 32; i++)yk[i]=-1.642*yk[i-1]-0.715*yk[i-2]+0.39*uk[i-1]+0.35*uk[i-2];

    for(i = 1; i < 32; i++)

    {

    temp++;

    outFile<

    //if(i%5==0)outFile<

    }

    outFile<

    outFile.close;

    cout << "Over!" <

    //inFile.open("yk.txt");

    fai = new double *[row_y];

    for(i = 0; i < row_y; i++)

    fai[i] =new double [col_y];

    double *pyk = yk;

    double *puk = uk;

    double *pfai = *fai;

    pyk = &yk[1];

    puk = &uk[1];

    for(int j = 0; j < row_y; j++)

    {

    pfai = &fai[j][0];

    *pfai = -(*(pyk+1));

    *(pfai+1) = -(*pyk);

    *(pfai+2) = *(puk+1);

    *(pfai+3) = *puk;

    pyk++;

    puk++;

    }

    }

    //iterative least square method

    #define rowPn 4

    #define colPn 9

    void iterative_least_square_method(void)

    {

    double **Pn,*En_1,*Pn_En_1,*En_Pn_1,**PE,**Pn_1,**Pn_En_0;

    double En_Pn_En_1 = 0;

    double *pPn1;

    double *pPn2;

    double *Kn;

    double *siit0,En_siit0,*En_0,BB,*siit1;

    Pn = new double *[rowPn];

    for(int j1 = 0; j1 < rowPn; j1++)

    Pn[j1] = new double [rowPn];

    Pn_En_1 = new double [rowPn];

    En_1 = new double [colPn];

    En_1 = &a[colPn][0];

    Pn_En_1 = new double [colPn];

    Pn_En_0 = new double *[rowPn];

    for(j1 = 0; j1 < rowPn; j1++)

    Pn_En_0[j1] = new double [colPn];

    En_Pn_1 = new double [colPn];

    Kn = new double [colPn];

    PE = new double *[colPn];

    for (j1 = 0; j1 < colPn; j1++)

    PE[j1] = new double [colPn];

    Pn_1 = new double *[colPn];

    for(j1 = 0; j1 < colPn; j1++)

    Pn_1[j1] = new double [colPn];

    siit0 = new double [colPn];

    siit1 = new double [colPn];

    /*****************************************************************/

    for(j1 = 0; j1 < rowPn; j1++)

    {

    for(int j2 = 0; j2 < rowPn; j2++)

    {

    if( j1 == j2)Pn[j1][j2] = 1e6;

    else Pn[j1][j2] = 0;

    }

    }

    for(j1 = 0; j1 < rowPn; j1++)

    {

    for(int j2 = 0; j2 < rowPn; j2++)

    {

    if( j1 == j2)Pn_1[j1][j2] = 1e6;

    else Pn_1[j1][j2] = 0;

    }

    cout << endl;

    }

    for(j1 = 0; j1 < rowPn; j1++)

    {

    *(siit1 + j1) = 1e-6;

    }

    /******************************************************************/

    for(int i = 1; i < 28 ;i++)

    {

    En_1 = &a[i][0];

    for(j1 = 0; j1 < rowPn; j1++)

    {

    for(int j2 = 0; j2 < rowPn; j2++)

    {

    Pn[j1][j2] = Pn_1[j1][j2];

    }

    }

    for(j1 = 0; j1 < rowPn; j1++)

    {

    *(Pn_En_1 + j1) = 0;

    for(int j2 = 0; j2 < rowPn; j2++)

    {

    *(Pn_En_1 + j1) += Pn[j1][j2]*(*(En_1 + j2));

    }

    }

    for(j1 = 0; j1 < rowPn; j1++)

    {

    *(En_Pn_1 + j1) = 0;

    展开全文
  • 用一步完成最小二乘法、递推最小二乘法、增广最小二乘法、广义最小二乘法、辅助变量法、二步法辨识如下模型的参数: 噪声的成形滤波器 采样时间0.01 要求: 1.用matlab 写出程序代码; 2.画出实际模型和...

    用一步完成最小二乘法、递推最小二乘法、增广最小二乘法、广义最小二乘法、辅助变量法、二步法辨识如下模型的参数:

    噪声的成形滤波器

     

    采样时间0.01

    要求:

    1.用matlab 写出程序代码;

    2.画出实际模型和辨识得到的模型误差;

    3.画出递推算法迭代时各辨识参数的变化曲线;

     

    具体思路:

    采用Z变换将系统和噪声滤波器的传递函数进行离散化,得到系统的差分方程:

    产生m序列,获得系统输入:

    然后利用各最小二乘法的公式,进行迭代求解:

    增广最小二乘(辨识结果)

     -0.0865   -0.1558    0.0116   -0.0125   -0.0031   -0.0198    0.0418    0.0061    0.0530    0.0152   -0.0220    0.0037    0.0894   -0.0027   -0.4287


     

    递推最小二乘辨(辨识结果)

    0.2914    0.4161   -0.0060   -0.0947   -0.1967    0.0093    0.0756   -0.2644    0.0262   -0.2307   -0.0284   -0.0255   -0.0943    0.0701   -0.3491

    二步法(辨识结果)

    10.9249  -11.5145    4.9972   -4.1236   10.4250

    最小二乘法(辨识结果)

    1.5000    0.7000    1.0000    0.5000

    辅助变量法(辨识结果)

    0   -2.2276   -0.0000    3.4309   -2.0860

     

     

    展开全文
  • 递推最小二乘法及模型阶次辨识,含有实验报告,可供参考。
  • 提出了用递推最小二乘法辨识连续带钢热镀锌退火炉模型参数。在已建立的连续带钢热镀锌退火炉数学模型的基础上,经过分析计算确定模型参数。考虑到最小二乘法的缺陷,选用递推最小二乘法进行参数辨识,并结合实例给出...
  • 针对Riccati方程中系数矩阵Q和R的调整需凭经验和多次试凑的不足,采用递推最小二乘法对系数矩阵进行在线调整,使系数矩阵的参数进行在线优化,更好地发挥了LQR控制器的优势。仿真实验结果表明了递推最小二乘法在一级...
  • 最小二乘一次完成算法在具体的实际使用过程中,不仅占用的内存量大,还不适合在线...为了减少计算量,减少数据在计算机所占的存储量,采用系统辨识里的递推最小二乘法对一个实例进行公式推导,并进行了仿真和概率性质分析。
  • MIMO递推最小二乘法

    2012-06-26 15:58:11
    这是一个关于多变量系统的系统辨识程序,采用多变量递推最小二乘法得到我们需要的系统模型。
  • 为抑制三相并联有源电力滤波器在空间矢量控制中因参数变化对补偿效果的影响,本研究采用基于递推最小二乘法对参数实时在线辨识,并将渐消记忆的指数窗口引入递推最小二乘法中,克服了递推最小二乘法出现的"数据饱和...
  • 对于时慢变对象需要跟踪对象的特性。如果对象能够用线性系统描述,则需要跟踪其状态方程式的系数。这个场合,递推最小二乘法比较适用。本小程序提供了实现递推最小二乘法的代码,供需要的同仁参考。
  • 基于递推最小二乘法的地磁测量误差校正方法.pdf,针对弹体地磁测量容易受到各种误差影响而导致地磁姿态测量精度降低的问题,在分析自身误差和环境误差的基础上,对椭球模型的地磁测量误差进行建模,采用最大似然估计...
  • 为改善多个同类传感器检测目标参数的性能,提出了根据各传感器量测数据品质对量测数据加权处理,并将加权后的数据作为递推最小二乘法的实时量测值的最优加权与递推最小二乘法相结合的多传感器信息融合方法。...
  • 递推最小二乘法——Matlab实现算法

    万次阅读 2018-07-06 19:47:28
    递推最小二乘法 主要用于求解超定方程的未知解 实现代码见博客最下方 算法实现 利用递推最小二乘法,求解Ax=b的解 A为m*x维的矩阵,元素服从独立同分布的正态分布 b为m维的已知向量,元素也是服从独立同分布...

    递推最小二乘法

    主要用于求解超定方程的未知解

    实现代码见博客最下方


    算法实现

    • 利用递推最小二乘法,求解Ax=b的解
    • A为m*x维的矩阵,元素服从独立同分布的正态分布
    • b为m维的已知向量,元素也是服从独立同分布的正态分布

    设计思路

    • 首先设置好迭代所需要的初始参数
    • 将A中的10000个方程提取出来,依次做10000次迭代
    • 最后将每一次迭代的x的结果输出

    数值实验

    • 递推最小二乘法未知解
      这里写图片描述

    结果分析

    • 由上图可以得知,由于一开始的未知解是随机生成的,误差比较大,经过了10000次的迭代之后,开始震荡收敛于某个值。因为随机生成的矩阵的元素是正态分布的,因此10个未知解都大致收敛于0附近的值上。

    代码实现

    clear;
    format long;
    A = randn([10000 10]);
    b = randn([10000 1]);
    x = rand(10,1);
    I = eye(10, 10);
    P = (10^6) * I;
    
    for k = 1:10000
        Ak = A(k,:);
        Q1 = P*(Ak');
        Q2 = 1 + Ak * P * (Ak');
        Q = Q1/Q2;
        x = x + Q * (b(k) - Ak*x);
        P = (I - Q*Ak)*P;
        result2(:,k) = x;
        result1(k) = k;
    end
    result1 = result1';
    %result = [result1; result2];
    plot(result1, result2);
    展开全文
  • 包括最小二乘法、增广递推最小二乘法等模型的Matlab源程序及系统辨识仿真
  • 应用最小二乘一次完成法和递推最小二乘法算法的系统辨识实验报告,包含概念理论及Matlab报告程序。完备的资料。你值得拥有。。。。。。
  • 永磁同步电机的在线参数辨识仿真模型一一一最小二乘法的介绍 1.最小二乘法的简单介绍 最小二乘法的理论最早是由...为了提高基本递推最小二乘法(RLS)的辨识性能,发展了各种衍生算法,包括加权最小二乘法、遗忘因子

    永磁同步电机的在线参数辨识仿真模型一一一最小二乘法的介绍

    1.最小二乘法的简单介绍

    最小二乘法的理论最早是由高斯(Gauss)于1795年在星体运动轨道预报研究过程中提出来的。该理论的原理比较简单,容易理解与掌握,编制程序也易于实现,重要的是具有良好的数学统计特性(无偏性、有效性、一致性等),因此在参数辨识中有相当广泛的应用。最小二乘法是系统参数辨识的基本方法,它是以准则函数最小化为目标推导出系统参数的辨识算法。为了提高基本递推最小二乘法(RLS)的辨识性能,发展了各种衍生算法,包括加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法等。下面以最小二乘法为基础进行讲解:

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2.递推最小二乘法的推导

    批处理最小二乘法在每次处理数据时需要计算矩阵的逆,尤其是当尾数较大时,计算量较大,由式(1.6)可辨识模型中不变参数 ,是由于累积和迭代造成数据量过大,由此引入递推最小二乘法,即在更新模型时对上一步中的模型以及数据进行修正,如式(1.7)所示。

    在这里插入图片描述
    在这里插入图片描述
    由此,只要确定输入量和输出量,以及辨识量,即可运用上述RLS的模型进行求解。

    3.总结

    RLS的通用求解公式,如下:

    在这里插入图片描述
    后续将依据电机PMSM的基本数学模型,对其运用RLS进行电阻、电感和转动惯量的辨识。

    参考资料

    [1]https://blog.csdn.net/qq_27436347/article/details/89766494
    [2]https://zhuanlan.zhihu.com/p/53883828
    [3]荀倩,王培良,李祖欣,蔡志端,秦海鸿.基于递推最小二乘法的永磁伺服系统参数辨识[J].电工技术学报,2016,31(17):161-169.

    展开全文
  • 递推最小二乘法RLS:推导

    千次阅读 多人点赞 2019-08-23 16:24:09
    递推最小二乘法RLS:推导 I use RLS as a method for parameter identification. Reference: https://blog.csdn.net/weixin_38451800/article/details/85384847 ...
  • 基于MIMO系统递推最小二乘法的参数辨识程序,能用
  • 递推最小二乘法在角位置误差检定中的应用,适用于惯性技术专业
  • 基于MATLAB的递推最小二乘法辨识与仿真 基于MATLAB的递推最小二乘法辨识与仿真 基于MATLAB的递推最小二乘法辨识与仿真
  • 通过递推最小二乘法对动态系统进行参数辨识, 在控制算法中考虑参数估计误差的不精确性,得到警戒控制器的控制律;对自校正系统与警戒控制器的控 制律所决定的性能指标进行比较,结果表明,警戒控制器的控制律可使其动态...
  • 关于递推最小二乘法,网上各种资料,让人莫衷一是,故整理其重要部分,述而不作,说的就是我了! 最后附MATLAB代码,实测可用 概述 递推最小二乘法的引入(具体见知乎文章) 关键公式 递推公式如下所示(推导见...
  • 递推最小二乘法RLS公式详细推导

    千次阅读 2020-04-24 23:55:11
    递推最小二乘法RLS详细推导 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 238
精华内容 95
关键字:

递推最小二乘法