Solve linear equation with added constant
3 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Cam Salzberger
2019-2-13
编辑:Cam Salzberger
2019-2-13
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Computations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!