# How to fix in Gauss formula

조회 수: 30(최근 30일)
Anton Anton 15 Dec 2020
댓글: Jon 16 Dec 2020
Hello,
I have here two formulas of Jacobi and Gauss. I wrote code in the method Jacobi and it worked for me, but in Gauss there is a problem it came out to me a matrix instead of a vector.
I have a problem with B and c in Gauss, If I did right.
Thanks for the helpers
%Jacobi
L = tril(A,-1);
U = triu(A,1);
D = diag(A);
B = -1./D.*(L+U);
c = (1./D).*b;
x_new = B*x+c;
%Gauss
L = tril(A,-1);
U = triu(A,1);
D = diag(A);
B = -1./(L+D).*U;
c = (1./(L+D)).*b;
x_new = B*x+c;

댓글을 달려면 로그인하십시오.

### 채택된 답변

Jon 15 Dec 2020
It looks like in your calculation of c in both the Jacobi and Gauss you should do a Matrix -vector multiply not an element by element so replace yours with
c = (1./D)*b;
and
c = (1./(L+D))*b;
Maybe there are some other issues too.
Also as a comment you compute the same terms multiple times which isn't too efficient, e.g. 1./(L+D) gets computed twice in your Gauss calculation.
Jon 16 Dec 2020

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!