If I know y (samples) and x (signal), is there a practical matlab algorithm to calculate A in y = Ax?
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$
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.
-
$\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