sparse estimation / compressed sensing linear system solver

버전 1.0.0.0 (3.16 KB) 작성자: yoash levron
finds a sparse solution x to the under-determined system Ax=y, that has at most 2 non-zero elements
다운로드 수: 884
업데이트 날짜: 2016/2/28

라이선스 보기

sparse_sensing12 - is the function code
sparse_sensing_example - shows how to use it.
x = sparse_sensing12( A,y,epsE )
Written by Prof. Yoash Levron,
Electrical Engineering, Technion, Israel, September 2014.

This function solves the under-determined system of equations Ax=y, with a matrix A that has less rows than columns. The function locates the solution vector x which is "the most sparse", that is, the solution vector that has the fewest number of non-zero elements. If a sparse solution exists the function is guaranteed to locate it.

function inputs:
A - the sensing matrix (dimensions M x N, where M<N)
y - the known output vector (vector of known measurements,(dimensions M x 1)
epsE - tolerable error of solution. If the solution vector x generates an error with a second norm larger than epsE, the function throws an error message.

function output:
x - the sparse vector that is estimated (dimensions N x 1).
It is assumed that x has at most 2 non-zero elements.

This version of the code solves for x only if it has 1 or 2 non-zero elements, and it does so by scanning all possible support bases for the vector x. (that is, it scans every possible combination of one or two column vectors from A). If there is no sparse solution x (with one or two elements), the function will generate an error, Although a solution vector x with more than two non-zero elements may exist. (this can be easily checked by typing x = A\y in the Matlab command window). Because of this exhaustive scan, if a solution exists, the function is guaranteed to locate it, and further more, the function will locate the sparse solution for which the second norm of the error is minimal.

Conditions on the matrix A:
The function will locate a sparse solution, if it exists. However, in general, this solution may not be unique, that is, other sparse solutions to the system of equations Ax=y may exist. A sufficient condition for the solution to be unique is that every combination of M columns from the matrix A is linearly independent, where M is the number of rows in A. (The general theorem is given by a condition on the 'spark' of the matrix A).

Complexity limit:
The complexity of computation is determined primarily by the number of columns in A. The function can handle a matrix with 500 columns and more on a standard PC.

인용 양식

yoash levron (2024). sparse estimation / compressed sensing linear system solver (https://www.mathworks.com/matlabcentral/fileexchange/47800-sparse-estimation-compressed-sensing-linear-system-solver), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2013a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Sparse Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.0.0.0

Description updated.