Solving linear systems in Matlab
조회 수: 3 (최근 30일)
이전 댓글 표시
How do I solve for x in u = A(x+b)? A is a matrix, and the other terms are vectors. Isn't it something like x = A\u - b ? I'm not sure about subtracting the b term, however.
댓글 수: 1
Bruno Luong
2023년 8월 24일
편집: Bruno Luong
2023년 8월 24일
In some sense x = A\u - b is the worse you can pick.
채택된 답변
Torsten
2023년 8월 24일
편집: Torsten
2023년 8월 24일
x = A\(u-A*b)
But it's the same as
x = A\u - b
댓글 수: 1
Bruno Luong
2023년 8월 24일
편집: Bruno Luong
2023년 8월 24일
Is it?
A=rand(3,4);
b=rand(4,1);
u=rand(3,1);
% 4 different solutions
x1=A\(u-A*b)
x2=A\u-b
x3=lsqminnorm(A,u)-b
x4=lsqminnorm(A,u-A*b)
% All give the same "fitness"
A*x1-u
A*x2-u
A*x3-u
A*x4-u
norm(x1)
norm(x2)
norm(x3)
norm(x4) % always the smallest
추가 답변 (1개)
Steven Lord
2023년 8월 24일
Define a new variable y such that y = x+b.
Using this new variable simplifies your system to u = A*y.
Solve this simplified system for y using the backslash operator, y = A\u.
Substituing into that solution using the definition of y, we know x+b = A\u.
Subtract b from both sides to get x = (A\u)-b.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!