HELP with creating matrix for Jacobi and Gauss-Seidel method problem!!
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
How can i create this matrix in matlab?
aij= [2i when j=i and i=1,2,...,80
0.5i when {j=i+2 and i=1,2,...,78 AND j=i-2 and i=3,4,...,80
0.25i when {j=i+4 and i=1,2,...,76 AND j=i-4 and i=5,6,...,80
0 otherwise]
and those of b are bi = π, for each i = 1,2,...,80.
I will need to use Jacobi and Gauss-seidel method to solve the linear system Ax = b to within 10−5 in the l∞ norm with the given matrix entries above. I am just stuck with how to create the matrix. I have spent so long reading the book and other sites but still have no idea where to even begin with the entries of this matrix so any help is appreciated!
1 comentario
Respuestas (1)
Daniel kiracofe
el 13 de Nov. de 2016
the brute force approach would be something like this.
for i = 1:80
for j = 1:80
if (i==j)
a(i,j) = 2*i;
elseif ( other conditions)
a(i,j) = whatever
etc.
end
end
There are quicker ways to do it, but this will be easiest to understand. for 80x80 matrix, speed will not be an issue.
2 comentarios
Torsten
el 15 de Nov. de 2016
Use "tril", "diag" and "triu" to build the appropriate iterations matrices L, D and U and solve the linear systems
L*x_new = b-U*x_old for Gauss-Seidel
and
D*x_new = b-(L+U)*x_old for Jacobi
using "backslash (\)".
Best wishes
Torsten.
Ver también
Categorías
Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!