HELP with creating matrix for Jacobi and Gauss-Seidel method problem!!

조회 수: 2 (최근 30일)
equinox
equinox 2016년 11월 13일
댓글: Dang Khoa 2018년 8월 13일
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개)

Daniel kiracofe
Daniel kiracofe 2016년 11월 13일
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
equinox
equinox 2016년 11월 15일
Thank you for the help! i was able to construct the matrix using this approach. However now i am a little confused on using the Jacobi and Gauss-seidel methods to solve the linear system Ax=b. Any tips or suggestions?
Torsten
Torsten 2016년 11월 15일
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.

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

카테고리

Help CenterFile Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by