0
$\begingroup$

If I know y (samples) and x (signal), is there a practical matlab algorithm to calculate A in y = Ax?

$\endgroup$
1
$\begingroup$

The solution is probably not unique.

$$ \left[ { \begin{array}{cc} a & b \\ c & d \end{array} } \right] \left[{\begin{array}{c} 1 \\ 0 \end{array}} \right] = \left[{\begin{array}{c} 1 \\ 1 \end{array}} \right] $$

$b$ and $d$ can be any value provided $a = c = 1$

$\endgroup$
  • 1
    $\begingroup$ @jonsca thank you very much for the math formatting ! $\endgroup$ – lennon310 Jan 6 '14 at 21:38
  • $\begingroup$ You're welcome. The matrix syntax is a little cumbersome, but it makes a nice result. $\endgroup$ – jonsca Jan 6 '14 at 21:39
1
$\begingroup$

You could use tensor factorization methods. For example if you are sure that your data is non-negative, then Nonnegative Matrix Factorization might be used.

http://www.mathworks.com/help/stats/nnmf.html

Depending on your application and format of A, you might want the sparsest solution. In that case minimization of $L_0$ norms would be considerable.

$\endgroup$
  • $\begingroup$ Interesting, thank you. The data is an image so they are all nonnegative values. I'm working with matrix completion algorithms but I first wanted to test an incoherence property - see dsp.stackexchange.com/q/13567/4038 $\endgroup$ – val Jan 6 '14 at 22:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.