How to fix in Gauss formula

4 visualizaciones (últimos 30 días)
Emilia
Emilia el 15 de Dic. de 2020
Comentada: Jon el 16 de Dic. de 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;

Respuesta aceptada

Jon
Jon el 15 de Dic. de 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.
  7 comentarios
Emilia
Emilia el 16 de Dic. de 2020
Excellent it works for me. Thank you :)
Jon
Jon el 16 de Dic. de 2020
Glad to hear it!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by