理解MP算法

article/2025/10/22 21:30:49

转载:http://blog.csdn.net/u010103202/article/details/50932936

2.MP算法

作为一类贪婪算法,MP算法的基本思路是在迭代中不断找寻最有测量矩阵列来逼近被表示向量,继而寻得最优的稀疏逼近,使得x与y的残差最小。对于这个算法,最直观的问题有两个:1.如何选择逼近度最高的——如何衡量逼近度,算法如何执行(比如遍历)?2.x的稀疏度由迭代次数决定,而逼近度(即最终残差)也与迭代次数有关,这是一个两难问题,如何做权衡?

在回答以上两个问题之前,我们先给出MP算法的具体过程:


示例代码如下:(与matlab中MP介绍时的示例相同)

[python] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. clear all  
  2. close all  
  3. %  
  4. A = [1 0.5 -1/2^0.5;  
  5.     0 (3/4)^0.5 -1/2^0.5];  
  6. y = [1,0.5]';  
  7. K = 3;  
  8. [m,n] = size(A);  
  9.    
  10.    
  11. % iteration  
  12. Rf(:,1) = y;  
  13. for k = 1:K  
  14.       
  15.     for i = 1:n   
  16.         ip(i) = abs(Rf(:,k)'*A(:,i));  
  17.     end  
  18.     j(k) = find(max(ip)==ip);  
  19.     Rf(:,k+1) = Rf(:,k) - Rf(:,k)'*A(:,j(k))*A(:,j(k));  
  20.     Rfnorm(k) = norm(Rf(:,k));  
  21. end  
  22. R = [A(:,j(1)),A(:,j(2)),A(:,j(3))];  
  23. r1 = R(:,1);  
  24. r2 = R(:,2);  
  25. r3 = R(:,3);  
  26. figure,quiver(0,0,y(1),y(2),'r');  
  27. hold,quiver(0,0,r1(1),r1(2),'b');  
  28. quiver(0,0,r2(1),r2(2),'b');  
  29. quiver(0,0,r3(1),r3(2),'b');  
  30. display(norm(Rf(:,K+1)));  

编程遇到的简单问题:

1.每次迭代选择A中列向量时,为什么不需要把上次选择的去除掉?

因为每次迭代的残差是由上次的残差减去已选择的A的列计算得到的,剩余残差(恰好衡量与已选列的差异性)在已选列向量的投影将变得很小。因此没有必要去除已选列。

2.随机字典A的生成

示例中未涉及这个问题,但是仿真往往需要。matlab命令式norm(a,b,c,d),产生均值a,方差b,大小c*d的随机矩阵。

3.如何画向量?

画箭头的命令是quiver(x,y,u,v),xy为顶点,uv为向量。


http://chatgpt.dhexx.cn/article/yPKd4aiD.shtml

相关文章

matlab simulink光伏发电系统MPPT算法

1、内容简介 略 553-可以交流、咨询、答疑 2、内容说明 世界各国能源需求的不断增长,以及传统能源资源的消耗和对环境的不良影 响,促使社会寻找替代能源。因此光伏发电成为研究热点之一,在对光伏电池的 研究中最大功率点追踪 (Maximum Pow…

MP算法与OMP算法

稀疏编码的一般最优化公式为: 其中的零范数为非凸优化。那么如何解这么一个非凸优化问题呢?其中一个常用的解法就是MP算法。 MP算法 MP算法是一种贪心算法(greedy),每次迭代选取与当前样本残差最接近的原子&#xff0…

光伏并网MPPT算法控制解析

01 MPPT介绍 太阳能光伏发电是当前利用新能源的主要方式之一,光伏并网发电的主要问题是提高系统中太阳能电池阵列的工作效率和整个系统的工作稳定性,MPPT(Maximum power point tracking,最大功率点跟踪)是太阳能光伏发电系统中的…

MPC算法

MPC算法 一. 引言 在工程技术方面,MPC全称可指Model Predictive Control模型预测控制(又称RHC, Receding Horizon )。 模型预测控制算法 一种进阶过程控制方法,自1980年以来开始在化工炼油等过程工业得到应用,并在经…

MP算法和OMP算法及其思想与实现

主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1],这两个算法虽然在90年代初就提出来了,但作为经典的算法,国内文献(可能有我没有搜索到)都仅描述了算法步骤和简单的应用,并未对其进行详尽的分析&…

MP算法

MP算法 MP算法是一种贪心算法(greedy),每次迭代选取与当前样本残差最接近的原子,直至残差满足一定条件。 求解方法 首先解决两个问题,怎么定义“最接近原子”,怎么计算残差? 选择最接近残差的原…

MP算法和OMP算法及其思想

主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1],这两个算法虽然在90年代初就提出来了,但作为经典的算法,国内文献(可能有我没有搜索到)都仅描述了算法步骤和简单的应用,并未对其进行详尽的分析&…

学习笔记2 光伏MPPT算法

目录 前言1. 光伏电池的分类1.1 按照电池结构分类1.2 按照电池材料分类: 2. 光伏电池模型及光伏特性曲线2.1 光伏电池模型2.2 光伏特性曲线 3. 影响光伏电池输出特性曲线的两个主要因素3.1 光照的影响3.1.1 光照对I-V曲线的影响3.1.2 光照对P-V曲线的影响3.1.3 光照对P-I曲线的…

光伏发电最大功率点跟踪MPPT(粒子群算法)

光伏电池作为太阳能发电的核心部件,实现了太阳能到电能的转换,但是由于光伏电池器件本身的复杂性以及现如今光电材料的限制,光伏电池的转换效率总体来说还是比较低,而且其输出还是非线性的,并且光照强度和外界温度对其…

光伏逆变器MPPT基本算法介绍-李星硕

前言 在上一个话题中,我们阐述了光伏MPPT基本原理:从本质上来说,MPPT算法均是通过DC-DC的占空比d来进行控制的。至于如何计算占空比d的值,则取决于具体的MPPT算法。那么在本话题中,我们将介绍两种基本的MPPT算法&#…

MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程

目录 1、太阳能板的特性曲线 2、固定电压法 3、MPPT-P&O算法 4、电导增量算法 5、系统实现方案 1、太阳能板的特性曲线 太阳能板也叫光伏电池。是通过光电效应,把光能转换为电能的设备。 先介绍太阳能板的特性。太阳能的额定参数是在地面光伏组件标准测试…

嵌入式怎么入门,嵌入式应该先学习什么

嵌入式到底是什么,很多对这个概念都很迷糊,许多人都认为这是工程师的代名词。 嵌入式工程师可以说是目前涵盖面最广、最火的职业之一,那么到底什么是嵌入式呢? 狭义上嵌入式系统由硬件和软件组成.是能够独立进行运作的…

嵌入式通用学习路线整理

大家好,我是小麦。 从事嵌入式相关行业,差不多快有10年时间了,走过很多弯路,踩过很多坑。 很多人会问,嵌入式真的没有前途吗?这个我其实也无法回答。用发展的眼光来看,万物都有周期。 这个和嵌入…

嵌入式学习(一)嵌入式c语言

第一章.c数据类型及语句 1.01 第一个c程序的编写 下载好VScode并配置好环境&#xff0c;可以开始进行第一个c程序的编写。 #include <stdio.h>int main(int argc,char *argv[]) {printf("Hello World!\n");return 0 ; } 需要注意的几点&#xff1a; 1.#inclu…

嵌入式学习难吗?

首先来说&#xff0c;学习任何一门技术都有它难的地方。如果说嵌入式学习难&#xff0c;那它就难在于嵌入式知识比较综合&#xff0c;比如C语言、数据结构、通信原理、单片机、数字电路、 arm体系、驱动开发、系统移植、Lora&#xff0c;NB-IOT等&#xff0c;大学里开过很多课都…

嵌入式学习(一)—— 初步认识

嵌入式学习&#xff08;一&#xff09;—— 初步认识 一、认识嵌入式二、嵌入式学习内容1.C语言学习2. 模拟电路&#xff0c;数字电路基础- 模拟电路- 数字电路 3. 硬件知识掌握4. 裸机开发5. 认识使用外设模块6. OS学习7.Linux开发板学习8.应用层学习9. PCB学习 三、推荐网站及…

嵌入式学习笔记

ARM &#xff1a;Advanced RISC Machine RISC&#xff1a;精简指令集 EMCU&#xff1a;Embedded Micro Controller Unit 嵌入式微控制器 EMPU &#xff1a;Embedded Micro Processor Unit 嵌入式微处理器 EDSP &#xff1a;Embedded Digital SIgnal Process 嵌入式数字信号处理…

嵌入式之学习路线

入门必看&#xff1a;https://www.xianjichina.com/news/details_69907.html IC设计&#xff0c;FPGA&#xff0c;射频&#xff0c;EMC&#xff0c;电气工程 ******嵌入式开发的相关硬件基础&#xff1a;对于软件工程专业的学生&#xff0c;从事嵌入式软件开发&#xff0c;像…

嵌入式学习路线,强烈推荐!!!

最近有小伙伴在微信私信我&#xff0c;如何学习嵌入式。一直想写一篇学习路线的文章&#xff0c;由于各种原因拖到了现在。 下面就如何学习嵌入式说下我个人的看法。 01 什么是嵌入式&#xff1f; 嵌入式即嵌入式系统&#xff0c;IEEE&#xff08;美国电气和电子工程师协会&am…

嵌入式学习笔记——概述

嵌入式系统概述 前言“嵌入式系统”概念1.是个啥&#xff1f;2.可以干啥&#xff1f;3.有哪些入坑方向&#xff1f;4.入坑后可以有多少薪资&#xff1f; 单片机1.什么是单片机&#xff1f;2.架构简介3.基于ARM架构的单片机结构简介 总结M4系列目录 前言 断更很长时间了&#x…