基于极大似然法和最小二乘法系统参数辨识matlab仿真,包含GUI界面

news2024/10/6 20:27:17

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

1.极大似然法系统参数辨识

2. 最小二乘法系统参数辨识

5.完整程序


1.程序功能描述

        分别对比基于极大似然法的系统参数辨识以及基于最小二乘法的系统参数辨识,输出起参数辨识收敛曲线以及辨识误差。

2.测试软件版本以及运行结果展示

MATLAB2022a版本运行

3.核心程序


c1      = [0.0001,0.0001,0.0001,0.0001,0.0001,0.0001]';
p0      = eye(6,6);       
Doutf(1)= 0.1;
Doutf(2)= 0.1;
Dinf(2) = 0.1;
Dinf(1) = 0.1;
vf(2)   = 0.1;
vf(1)   = 0.1;
v       = zeros(1,L);
a1      = zeros(1,L);
a2      = zeros(1,L);
b1      = zeros(1,L);
b2      = zeros(1,L);
ea1     = zeros(1,L);
ea2     = zeros(1,L);
eb1     = zeros(1,L);
eb2     = zeros(1,L);
for k=3:L
    h   = [-Dout(k-1);-Dout(k-2);Din(k-1);Din(k-2);v(k-1);v(k-2)];
    hf  = h;
    K   = p0*hf*inv(hf'*p0*hf+1); 
    p   = [eye(6,6)-K*hf']*p0; 
    v(k)= Dout(k)-h'*c1;
    c   = c1+K*v(k) ;
    p0  = p;
    c1  = c;
    a1(k)=c(1);
    a2(k)=c(2);
    b1(k)=c(3);
    b2(k)=c(4);
    ea1(k)=abs(a1(k)+1.5);
    ea2(k)=abs(a2(k)-0.7);
    eb1(k)=abs(b1(k)-1.0);
    eb2(k)=abs(b2(k)-0.5);
    Doutf(k) = Dout(k)-c(5)*Doutf(k-1)-c(6)*Doutf(k-2);
    Dinf(k)  = Din(k)-c(5)*Dinf(k-1)-c(6)*Dinf(k-2);    
    vf(k)    = v(k)-c(5)*vf(k-1)-c(6)*vf(k-2);  
    hf=[-Doutf(k-1);-Doutf(k-2);Dinf(k-1);Dinf(k-2);vf(k-1);vf(k-2)];    
end 

Cs = [a1;a2;b1;b2];
Er = [ea1;ea2;eb1;eb2];
27_005m

4.本算法原理

        所谓辨识就是从含有噪声的输入输出数据中提取被研究对象的数学模型。一般来说,这个模型只是对象的输入输出特性在某种准则意义下的一种近似,挖的程度取决于人们对系统先验知识的认识深化程度和对数据集合性质的了解,以及所选用的辨识方法是否合理。或者说,辨识技术帮助人们在表征被研究系统对象、现象或过程的复杂因果关系时,尽可能准确地确立它们之间的定量依存关系。利用系统辨识方法建立系统数学模型,不仅是由于需要提高系统的性能或控制、增加对系统的认识或仿真,而且也反映出发展与需要。

1.极大似然法系统参数辨识

        极大似然法(Maximum Likelihood Estimation, MLE)是一种基于概率统计的参数估计方法。它的基本思想是:对于给定的样本数据,选择参数使得这些数据出现的概率最大。在系统参数辨识中,极大似然法通常假设观测数据服从某种概率分布,然后通过最大化观测数据的联合概率密度函数来估计系统参数。

2. 最小二乘法系统参数辨识

       最小二乘法(Least Squares Estimation, LSE)是一种基于误差平方和最小的参数估计方法。在系统参数辨识中,最小二乘法通常假设观测数据与模型输出之间存在线性关系,并通过最小化观测数据与模型输出之间的误差平方和来估计系统参数。

       极大似然法和最小二乘法是两种常用的系统参数辨识方法。极大似然法基于概率统计原理,通过最大化观测数据的联合概率密度函数来估计系统参数;而最小二乘法基于误差平方和最小的原则,通过最小化观测数据与模型输出之间的误差平方和来估计系统参数。在实际应用中,根据具体问题和数据特性选择合适的方法进行参数辨识。

5.完整程序

VVV

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1428128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算存储设备(Computational Storage Drive, CSD)

随着云计算、企业级应用以及物联网领域的飞速发展,当前的数据处理需求正以前所未有的规模增长,以满足存储行业不断变化的需求。这种增长导致网络带宽压力增大,并对主机计算资源(如内存和CPU)造成极大负担,进…

计算机网络实验二

目录 实验二 交换机的基本配置 1、实验目的 2、实验设备 (1)实验内容: (2)练习: 1.实验内容一:(交换机的配置方式) 2.实验内容二:(交换机…

碳汇的概念

碳汇的概念 在理解碳汇之前,首先理解“汇”,汇是指存储温室气体、气溶胶或温室气体化合物的库,例如土壤、海洋、森林等都是地球的重要碳库。根据《联合国气候变化框架公约》的定义,“碳汇”指从大气中清除二氧化碳等温室气体的过…

有没有合适写毕业论文的AI工具?

最近挺多同学在忙着写毕业论文,不断在“提交-打回-修改-提交”过程里循环着,好不容易写完了,还得考虑论文查重的问题!基哥作为一名曾经的毕业生,当然也体验过这种痛苦了。 但是,大人,时代变了&…

元素的显示与隐藏,精灵图,字体图标,CSSC三角

元素的显示与隐藏 类似网站广告,当我们点击关闭就不见了,但是我们重新刷新页面,会重新出现 本质:让元素在页面中隐藏或者显示出来。 1.display显示隐藏 2.visibility显示隐藏 3.overflow溢出显示隐藏 1.display属性(…

使用STM32 DMA实现高效数据传输的设计与优化

使用STM32的DMA功能可以有效地实现高效的数据传输。在下面的解释中,我将介绍如何设计和优化使用STM32 DMA进行高效数据传输的方法。同时,我将提供一些示例代码来帮助您理解和实践。 ✅作者简介:热爱科研的嵌入式开发者,修心和技术…

缓存相关问题记录解决

缓存相关问题 在这里我不得不说明,我写的博客都是我自己用心写的,我自己用心记录的,我写的很详细,所以会有点冗长,所以如果你能看的下去的化,会有所收获,我不想写那种copy的文章,因为对我来说没什么益处,我写的这篇博客,就是为了记录我缓存的相关问题,还有我自己的感悟,所以如果…

机器学习_12_梯度下降法、拉格朗日、KKT

文章目录 1 梯度下降法1.1 导数、梯度1.2 梯度下降法1.3 梯度下降法的优化思想1.4 梯度下降法的调优策略1.5 BGD、SGD、MBGD1.5.1 BGD、SGD、MBGD的区别 2 有约束的最优化问题3 拉格朗日乘子法3.1 拉格朗日乘子法理解3.2 对偶问题 4 KKT条件4.1 KKT条件理解4.2 KKT公式理解4.3 …

【DPI(Direct Programming Interface)_2024.02.01】

DPI接口:实现SV与C的交互 ① DPI_svc test.sv文件: 从C import task/function到SV 从SV export task到C 利用DPI调用C code访问register test.c文件: C调用apb_write驱动 ② dpi_perl test.sv文件: 利用DPI调用c code间接调…

【echarts】动态滚动趋势图,解决坐标轴数据太多遮挡覆盖问题

写在前面 业务场景x轴的文字太多&#xff0c;会出现遮挡问题&#xff0c;想到文字倾斜展示&#xff0c;页面不美观&#xff0c;于是想到使用滚动条优化趋势图。 <template><div id"storeDown" style"height: 400px;width:100%"/> </temp…

独立按键实验

轻触开关是一种电子开关&#xff0c;使用时,轻轻按开关按钮就可使开关接通&#xff0c;当松开手时,开关断开。我们使用的开关如下图&#xff1a; 按键在闭合和断开时&#xff0c;触点会存在抖动现象。 硬件消抖电路&#xff1a; 实现现象&#xff1a;下载程序后按下K1按键可以对…

C++类和对象知识点集合

又多又难的C类和对象知识点看这里了&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 文章目录 1.先看看类是咋用的2.访问限定符3.类中的声明和定义分离4.类对象模型4.1 空类的大小4.2 成员访问 5.内存对齐6.this指针6.1 this在哪里&#xff1f;6.2 (类对象及thi…

Mybatis 自定义ResultHandler(结果处理器)正确使用姿势

阅读指引 一、使用场景二、前提条件三、源码对照四、使用示例目标实现方式 一、使用场景 对Mybatis查询的结果集进行统一批量处理&#xff0c;如进行类型转换、数据变更等等。 二、前提条件 必须是查询语句。mapper方法的返回值必须是void&#xff0c;这也就是不能直接从这个…

【GitHub项目推荐--一个 C++ 实现快速存储的库】【转载】

一个提供可嵌入、持久键值存储以实现快速存储的库。 github地址 https://github.com/facebook/rocksdb 国内镜像 http://www.gitpp.com/ag/rocksdb RocksDB 是一个开源的嵌入式键值存储库&#xff0c;由 Facebook 开发&#xff0c;用于处理大量的数据&#xff0c;特别适合于…

【C++】C++入门 — 指针空值nullptr

C入门 指针空值 指针空值 在良好的C/C编程习惯中&#xff0c;声明一个变量时最好给该变量一个合适的初始值&#xff0c;否则可能会出现 不可预料的错误&#xff0c;比如未初始化的指针。如果一个指针没有合法的指向&#xff0c;我们基本都是按照如下 方式对其进行初始化: voi…

03 - python基础篇

1. 面向对象认识 1.1 面向过程 核心&#xff1a;怎么做 把需要完成的业务逻辑&#xff0c;所有步骤从头到尾逐步实现将某些功能独立的代码封装成函数最后&#xff0c;就是顺序调用不同的函数 注重步骤与过程&#xff0c;不注重职责分工。 1.2 面向对象 核心&#xff1a;谁…

【智慧农业】东胜物联温室监控系统硬件解决方案,自动化控制温室灯光、温湿度等

温室监控系统旨在提高智慧农业的工业生产率和效率。根据最近的一项研究&#xff0c;农业领域的物联网市场预计到2026年将达到约187亿美元。物联网技术包括自主耕作方法&#xff0c;帮助农场生产高质量的商品&#xff0c;并为农场经理提供最佳功能。某上市药企因业务需要&#x…

【Java 数据结构】对象的比较

Java中对象的比较 1. PriorityQueue中插入对象2. 元素的比较2.1 基本类型的比较2.2 对象比较的问题 3. 对象的比较3.1 覆写基类的equals3.2 基于Comparble接口类的比较3.3 基于比较器比较3.4 三种方式对比 4. 集合框架中PriorityQueue的比较方式5. 使用PriorityQueue创建大小堆…

Json序列化和反序列化 笔记

跟着施磊老师学C 下载&#xff1a;GitHub - nlohmann/json: JSON for Modern C 在single_include/nlohmann里头有一个json.hpp&#xff0c;把它放到我们的项目中就可以了 #include "json.hpp" using json nlohmann::json;#include <iostream> #include <…

基于SSM的个性化旅游攻略定制系统设计与实现(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的个性化旅游攻略定制系统设计与实现&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xf…