主要内容:

  1. FPC的算法流程
  2. FPC的MATLAB实现
  3. 一维信号的实验与结果

基于凸优化的重构算法

基于凸优化的压缩感知重构算法。

约束的凸优化问题:

去约束的凸优化问题:

在压缩感知中,J函数和H函数的选择:


一、FPC的算法

FPC,全称Fixed-Point Continuation,这里翻译为定点连续。

数学模型:

算法:

该算法在迭代过程中利用了收缩公式shrinkage(也称为软阈值soft thresholding),算法简单、优美。

迭代过程:

(梯度)

合并一下,就得到了整个迭代过程的公式:

之所以称为连续continuation,是因为u的选择,我们需要一种连续的路径追踪策略,即对于参数u,选择一个合适的连续上升的序列来引导整个迭代过程走向收敛。

算法流程:

具体参考:http://www.caam.rice.edu/~optimization/L1/fpc/

二、FPC的MATLAB实现(fpc.m)

可以通过上面的链接将相关代码下载下来,这里就不贴出来。

三、一维信号的实验与结果(basic_run.m)

1、重构前后信号值Xs与X对比:

  1. 迭代误差收敛曲线:

  1. FPC与以下三种算法的比较:

浅谈压缩感知(三十一):压缩感知重构算法之定点连续法FPC的更多相关文章

  1. 浅谈c#的三个高级参数ref out 和Params C#中is与as的区别分析 “登陆”与“登录”有何区别 经典SQL语句大全(绝对的经典)

    浅谈c#的三个高级参数ref out 和Params   c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和 ...

  2. 浅谈Kotlin(三):类

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 已经学习了前 ...

  3. 浅谈Excel开发:十一 针对64位Excel的插件的开发和部署

    自Office 2010版本开始有了32位和64位之分,对Excel来说,32位的Excel和64位的Excel在性能上的主要区别是64位的Excel能够处理2G及2G以上的大数据集. 随着64位操作 ...

  4. 浅谈WebService开发三(动态调用WebService)转

    在前两讲里,我已经向大家演示了如何使用WebService.同步, 异步调用WebService,而在实际开发过程中,可能会有多个WebService接口供你选择,而在程序执行过程中才决定使用哪一个 ...

  5. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式

    一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...

  6. iOS——浅谈iOS中三种生成随机数方法

    ios 有如下三种随机数方法:

  7. 浅谈c#的三个高级参数ref out 和Params

    c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和Params,在这里我们来分别的讲解一下,在这里的我们先不 ...

  8. 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  9. 浅谈Floyd的三种用法 By cellur925

    Floyd大家可能第一时间想到的是他求多源最短路的n³算法.其实它还有另外两种算法的嘛qwq.写一发总结好了qwq. 一.多源最短路 放段代码跑,注意枚举顺序,用邻接矩阵存图.本质是一种动规. 复杂度 ...

随机推荐

  1. 星号代替数字 js语句

    在做登陆界面时,有这样一个需求,就是输入密码时,以密文形式展示(*),由于html5的属性  type="password" 只能以圆点形式展示, 下面方法能以星号代替输入符合 d ...

  2. 转载:PuTTY的自动登录设置

    转自:http://blog.segmentfault.com/zair/1190000000639516 PuTTY是Windows下非常好用的SSH远程登陆客户端.本文介绍两种自动登录的设置方法. ...

  3. Ubuntu中vi常用命令

    在Ubuntu中经常需要修改某些文件,这里对vi中的一些常用操作作一下总结. 1.进入vi命令 vi filename: 打开或新建文件,并将光标置于第一行首 进入文件后,处于命令行模式(comman ...

  4. Towers of Hanoi

    Your mission is to move the stack from the left peg to the right peg. The rules are well known: Only ...

  5. iOS9的新特性以及适配方案

    新的iOS 9系统比iOS8更稳定,功能更全面,而且还更加开放.iOS 9加入了更多的新功能,包括更加智能的Siri,新加入的省电模式.iOS 9为开发者提供5000个全新的API. 1. 限制HTT ...

  6. linux中的开机和关机命令

    与关机.重新启动相关的命令 * 将数据同步写入硬盘中的命令  sync * 惯用的关机命令  shutdown * 重新启动.关机  reboot halt poweroff sync 强制将内存中的 ...

  7. 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数 解法一: 思路:采用java中自带的迭代函数进行处理. public class Solution{ /** * @pa ...

  8. c++中级 STL基础学习(二)

    deque 和vector差不多,可以在前端后端插入,一般用deque取代vector,vector只能在后端插入push_back().deque还可以push_front(),但是deque后端插 ...

  9. MongoDB数据库简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...

  10. Hibernate之创建命名策略

    在开发软件时,通常会要求每个开发人员遵守共同的命名策略.例如,数据库的表名及字段名的所有字符都要大写,表名以“S”结尾.对于Customer类,对应的数据库表名为CUSTOMERS.为了在映射文件中遵 ...