MATLAB: Solve linear equation with added constant

linear equationMATLAB

I wish to solve the matrix equation Ax = B + C for x and C. A is a known n-by-m matrix, B is a known n-by-1 vector, C is an unknown scalar and n > m+1 i.e. the equation is over-determined. I can't seem to put the equation into a form where the MatLab linear equation functions are useful. Any ideas?

Best Answer

Hello Gordon,
Since C is unknown, and a scalar, you could simply consider it to be an extension of the unknowns of x. So instead of x being an m-by-1 vector of unknowns, it's now an (m+1)-by-1 vector of unknowns, which still works since the system is overdetermined, as you said. So you can reformat your A matrix to have an added -1 to the end (for the coefficient to C), and simply solve the normal way:
[n, m] = size(A);
A_new = [A -ones(n, 1)];
x = A_new\B;
x_original = x(1:m);
C = x(end);
Hope that helps!
-Cam
Related Question