More Info
KPOP Image Download
  • Top University
  • Top Anime
  • Home Design
  • Top Legend



  1. ENSIKLOPEDIA
  2. Metode Jacobi - Wikipedia bahasa Indonesia, ensiklopedia bebas
Metode Jacobi - Wikipedia bahasa Indonesia, ensiklopedia bebas

Metode Jacobi

  • Azərbaycanca
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • English
  • Español
  • فارسی
  • Français
  • Magyar
  • Հայերեն
  • Italiano
  • 日本語
  • 한국어
  • Nederlands
  • Português
  • Русский
  • Türkçe
  • Українська
  • اردو
  • 中文
Sunting pranala
  • Halaman
  • Pembicaraan
  • Baca
  • Sunting
  • Sunting sumber
  • Lihat riwayat
Perkakas
Tindakan
  • Baca
  • Sunting
  • Sunting sumber
  • Lihat riwayat
Umum
  • Pranala balik
  • Perubahan terkait
  • Pranala permanen
  • Informasi halaman
  • Kutip halaman ini
  • Lihat URL pendek
  • Unduh kode QR
Cetak/ekspor
  • Buat buku
  • Unduh versi PDF
  • Versi cetak
Dalam proyek lain
  • Butir di Wikidata
Tampilan
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Metode Iterasi Jacobi merupakan salah satu bidang analisis numerik yang digunakan untuk menyelesaikan permasalahan persamaan linear dan sering dijumpai dalam berbagai disiplin ilmu. Metode Iterasi Jacobi merupakan salah satu metode tak langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan kemudian berusaha memperbaiki hampiran dalam tak berhingga namun langkah konvergen. Metode Iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linear berukuran besar dan proporsi koefisien nolnya besar.

Metode ini ditemukan oleh matematikawan yang berasal dari Jerman, Carl Gustav Jacob Jacobi. Penemuan ini diperkirakan pada tahun 1800-an.

Kalau kita mengubah dalam Sistem Persamaan Linear, maka dapat ditulis sebagai berikut

A x = b . {\displaystyle Ax=b.\,} {\displaystyle Ax=b.\,}

Kemudian, diketahui bahwa A = D + ( L + U ) {\displaystyle A=D+\left({L+U}\right)} {\displaystyle A=D+\left({L+U}\right)}, di mana D {\displaystyle D} {\displaystyle D} merupakan matriks diagonal, L {\displaystyle L} {\displaystyle L} merupakan matriks segitiga bawah, dan U {\displaystyle U} {\displaystyle U} merupakan matriks segitiga atas.

Kemudian, persamaan di atas dapat diubah menjadi:

D x + ( L + U ) x = b . {\displaystyle Dx+\left({L+U}\right)x=b.} {\displaystyle Dx+\left({L+U}\right)x=b.}

Kemudian,

x = D − 1 [ b − ( L + U ) x ] , {\displaystyle x=D^{-1}\left[b-\left({L+U}\right)x\right],} {\displaystyle x=D^{-1}\left[b-\left({L+U}\right)x\right],}

Jika ditulis dalam aturan iteratif, maka metode Jacobi dapat ditulis sebagai:

x ( k + 1 ) = D − 1 [ b − ( L + U ) x ( k ) ] , {\displaystyle x^{(k+1)}=D^{-1}\left[b-\left({L+U}\right)x^{(k)}\right],} {\displaystyle x^{(k+1)}=D^{-1}\left[b-\left({L+U}\right)x^{(k)}\right],}

di mana k {\displaystyle k} {\displaystyle k} merupakan banyaknya iterasi. Jika x ( k ) {\displaystyle x^{(k)}} {\displaystyle x^{(k)}} menyatakan hampiran ke- k {\displaystyle k} {\displaystyle k} penyelesaian SPL, maka x ( 0 ) {\displaystyle x^{(0)}} {\displaystyle x^{(0)}} adalah hampiran awal.

x i ( k ) = 1 a i i ( b i − ∑ j ≠ i a i j x j ( k − 1 ) ) , i = 1 , 2 , … , n . {\displaystyle x_{i}^{(k)}={\frac {1}{a_{ii}}}\left(b_{i}-\sum _{j\neq i}a_{ij}x_{j}^{(k-1)}\right),\,i=1,2,\ldots ,n.} {\displaystyle x_{i}^{(k)}={\frac {1}{a_{ii}}}\left(b_{i}-\sum _{j\neq i}a_{ij}x_{j}^{(k-1)}\right),\,i=1,2,\ldots ,n.}

Deskripsi

[sunting | sunting sumber]

Jadi

A x = b {\displaystyle A\mathbf {x} =\mathbf {b} } {\displaystyle A\mathbf {x} =\mathbf {b} }

menjadi sistem kuadrat dari nilai n dalam persamaan linier yaitu:

A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] , x = [ x 1 x 2 ⋮ x n ] , b = [ b 1 b 2 ⋮ b n ] . {\displaystyle A={\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\end{bmatrix}},\qquad \mathbf {x} ={\begin{bmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{bmatrix}},\qquad \mathbf {b} ={\begin{bmatrix}b_{1}\\b_{2}\\\vdots \\b_{n}\end{bmatrix}}.} {\displaystyle A={\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\end{bmatrix}},\qquad \mathbf {x} ={\begin{bmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{bmatrix}},\qquad \mathbf {b} ={\begin{bmatrix}b_{1}\\b_{2}\\\vdots \\b_{n}\end{bmatrix}}.}

Setelah itu nilai A dapat diuraikan menjadi komponen diagonal D, bagian segitiga bawah L dan bagian segitiga atas U:

A = D + L + U darimana D = [ a 11 0 ⋯ 0 0 a 22 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ a n n ]  and  L + U = [ 0 a 12 ⋯ a 1 n a 21 0 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ 0 ] . {\displaystyle A=D+L+U\qquad {\text{darimana}}\qquad D={\begin{bmatrix}a_{11}&0&\cdots &0\\0&a_{22}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &a_{nn}\end{bmatrix}}{\text{ and }}L+U={\begin{bmatrix}0&a_{12}&\cdots &a_{1n}\\a_{21}&0&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &0\end{bmatrix}}.} {\displaystyle A=D+L+U\qquad {\text{darimana}}\qquad D={\begin{bmatrix}a_{11}&0&\cdots &0\\0&a_{22}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &a_{nn}\end{bmatrix}}{\text{ and }}L+U={\begin{bmatrix}0&a_{12}&\cdots &a_{1n}\\a_{21}&0&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &0\end{bmatrix}}.}

Algoritme Metode Iterasi Jacobi

[sunting | sunting sumber]

INPUT:

n {\displaystyle n} {\displaystyle n}, A, b, dan hampiran awal Y=(y1 y2 y3...yn)T, batas toleransi T, dan maksimum iterasi N

OUTPUT:

X=(x1 x2 x3...xn)T, vektor galat hampiran g {\displaystyle g} {\displaystyle g}, dan H {\displaystyle H} {\displaystyle H} yang merupakan matriks dengan baris vektor-vektor hampiran selama iterasi.
  1. Set penghitung iterasi k=1
  2. WHILE k <= N {\displaystyle k<=N} {\displaystyle k<=N} DO
    1. FOR i = 1 , 2 , 3 , . . . , n {\displaystyle i=1,2,3,...,n} {\displaystyle i=1,2,3,...,n}, Hitung x i = 1 a i i ( b i − ∑ j ≠ i a i j y j ) {\displaystyle x_{i}={\frac {1}{a_{ii}}}\left(b_{i}-\sum _{j\neq i}a_{ij}y_{j}\right)} {\displaystyle x_{i}={\frac {1}{a_{ii}}}\left(b_{i}-\sum _{j\neq i}a_{ij}y_{j}\right)}
    2. SET X = ( x 1 x 2 x 3 . . . x n ) T {\displaystyle X=(x_{1}x_{2}x_{3}...x_{n})^{T}} {\displaystyle X=(x_{1}x_{2}x_{3}...x_{n})^{T}}
    3. IF ||X_Y||<T THEN STOP
    4. Tambah penghitung iterasi, k = k + 1 {\displaystyle k=k+1} {\displaystyle k=k+1}
    5. FOR i = 1 , 2 , 3 , . . . , n {\displaystyle i=1,2,3,...,n} {\displaystyle i=1,2,3,...,n}, Set yi=xi
    6. SET Y=(y1 y2 y3...yn)T
  3. Tulis pesan "Metode gagal setelah N iterasi"
  4. STOP
Input: initial guess 
  
    
      
        
          x
          
            (
            0
            )
          
        
      
    
    {\displaystyle x^{(0)}}
  
{\displaystyle x^{(0)}} to the solution, (diagonal dominant) matrix 
  
    
      
        A
      
    
    {\displaystyle A}
  
{\displaystyle A}, right-hand side vector 
  
    
      
        b
      
    
    {\displaystyle b}
  
{\displaystyle b}, convergence criterion
Output: solution when convergence is reached
Comments: pseudocode based on the element-based formula above


  
    
      
        k
        =
        0
      
    
    {\displaystyle k=0}
  
{\displaystyle k=0}
while convergence not reached do
    for i := 1 step until n do
        
  
    
      
        σ
        =
        0
      
    
    {\displaystyle \sigma =0}
  
{\displaystyle \sigma =0}
        for j := 1 step until n do
            if j ≠ i then
                
  
    
      
        σ
        =
        σ
        +
        
          a
          
            i
            j
          
        
        
          x
          
            j
          
          
            (
            k
            )
          
        
      
    
    {\displaystyle \sigma =\sigma +a_{ij}x_{j}^{(k)}}
  
{\displaystyle \sigma =\sigma +a_{ij}x_{j}^{(k)}}
            end
        end
        
  
    
      
        
          x
          
            i
          
          
            (
            k
            +
            1
            )
          
        
        =
        
          
            
              1
              
                a
                
                  i
                  i
                
              
            
          
          
            (
            
              
                b
                
                  i
                
              
              −
              σ
            
            )
          
        
      
    
    {\displaystyle x_{i}^{(k+1)}={{\frac {1}{a_{ii}}}\left({b_{i}-\sigma }\right)}}
  
{\displaystyle x_{i}^{(k+1)}={{\frac {1}{a_{ii}}}\left({b_{i}-\sigma }\right)}}
    end
    
  
    
      
        k
        =
        k
        +
        1
      
    
    {\displaystyle k=k+1}
  
{\displaystyle k=k+1}
end

Algoritme Metode Iterasi Jacobi dalam bentuk software Matlab

[sunting | sunting sumber]

Penggunaan algoritme Metode Iterasi Jacobi dalam bentuk matlab. Matlab merupakan program pengolahan data numerik.

INPUT:

n {\displaystyle n} {\displaystyle n}, A, b, dan hampiran awal Y=(y1 y2 y3...yn)T, batas toleransi T, dan maksimum iterasi N

OUTPUT:

X=(x1 x2 x3...xn)T, vektor galat hampiran g {\displaystyle g} {\displaystyle g}, dan H {\displaystyle H} {\displaystyle H} yang merupakan matriks dengan baris vektor-vektor hampiran selama iterasi.
H=X0'
n=length (b)
X=X0
for k:=1 until N
for i:=i until n,
S = b (i) - A (i,[1:i-1,i+1:n]) * X0 ([1:i-1,i+1:n])
X(i) = S / A (i,i)
end
g = abs (X-X0)
err = norm (g)
relerr = err / (norm (X)+eps)
X0 = X
H = [H;X0']
if (err<T)|(relerr<T), break, end
end

Kekonvergenan

[sunting | sunting sumber]

MEtode ini akan bernilai konvergen jika matriksnya merupakan matriks dominan secara diagonal, yaitu apabila unsur diagonal pada kolom tersebut lebih besar dari penjumlahan unsur-unsur lainnya pada kolom tersebut.

| a i i | > ∑ i ≠ j | a i j | . {\displaystyle \left|a_{ii}\right|>\sum _{i\neq j}{\left|a_{ij}\right|}.} {\displaystyle \left|a_{ii}\right|>\sum _{i\neq j}{\left|a_{ij}\right|}.}

Contoh

[sunting | sunting sumber]

Sistem linear dari bentuk A x = b {\displaystyle Ax=b} {\displaystyle Ax=b} dengan perkiraan awal x ( 0 ) {\displaystyle x^{(0)}} {\displaystyle x^{(0)}} diberikan oleh

A = [ 2 1 5 7 ] ,   b = [ 11 13 ] dan x ( 0 ) = [ 1 1 ] . {\displaystyle A={\begin{bmatrix}2&1\\5&7\\\end{bmatrix}},\ b={\begin{bmatrix}11\\13\\\end{bmatrix}}\quad {\text{dan}}\quad x^{(0)}={\begin{bmatrix}1\\1\\\end{bmatrix}}.} {\displaystyle A={\begin{bmatrix}2&1\\5&7\\\end{bmatrix}},\ b={\begin{bmatrix}11\\13\\\end{bmatrix}}\quad {\text{dan}}\quad x^{(0)}={\begin{bmatrix}1\\1\\\end{bmatrix}}.}

Kami menggunakan persamaan x ( k + 1 ) = D − 1 ( b − ( L + U ) x ( k ) ) {\displaystyle x^{(k+1)}=D^{-1}(b-(L+U)x^{(k)})} {\displaystyle x^{(k+1)}=D^{-1}(b-(L+U)x^{(k)})}, dijelaskan di atas, untuk memperkirakan x {\displaystyle x} {\displaystyle x}. Pertama, kami menulis ulang persamaan dalam bentuk yang lebih mudah D − 1 ( b − ( L + U ) x ( k ) ) = T x ( k ) + C {\displaystyle D^{-1}(b-(L+U)x^{(k)})=Tx^{(k)}+C} {\displaystyle D^{-1}(b-(L+U)x^{(k)})=Tx^{(k)}+C}, dimana T = − D − 1 ( L + U ) {\displaystyle T=-D^{-1}(L+U)} {\displaystyle T=-D^{-1}(L+U)} dan C = D − 1 b {\displaystyle C=D^{-1}b} {\displaystyle C=D^{-1}b}. Dari nilai-nilai yang diketahui

D − 1 = [ 1 / 2 0 0 1 / 7 ] ,   L = [ 0 0 5 0 ] dan U = [ 0 1 0 0 ] . {\displaystyle D^{-1}={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}},\ L={\begin{bmatrix}0&0\\5&0\\\end{bmatrix}}\quad {\text{dan}}\quad U={\begin{bmatrix}0&1\\0&0\\\end{bmatrix}}.} {\displaystyle D^{-1}={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}},\ L={\begin{bmatrix}0&0\\5&0\\\end{bmatrix}}\quad {\text{dan}}\quad U={\begin{bmatrix}0&1\\0&0\\\end{bmatrix}}.}

we determine T = − D − 1 ( L + U ) {\displaystyle T=-D^{-1}(L+U)} {\displaystyle T=-D^{-1}(L+U)} as

T = [ 1 / 2 0 0 1 / 7 ] { [ 0 0 − 5 0 ] + [ 0 − 1 0 0 ] } = [ 0 − 1 / 2 − 5 / 7 0 ] . {\displaystyle T={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}}\left\{{\begin{bmatrix}0&0\\-5&0\\\end{bmatrix}}+{\begin{bmatrix}0&-1\\0&0\\\end{bmatrix}}\right\}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}.} {\displaystyle T={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}}\left\{{\begin{bmatrix}0&0\\-5&0\\\end{bmatrix}}+{\begin{bmatrix}0&-1\\0&0\\\end{bmatrix}}\right\}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}.}

Further, C {\displaystyle C} {\displaystyle C} is found as

C = [ 1 / 2 0 0 1 / 7 ] [ 11 13 ] = [ 11 / 2 13 / 7 ] . {\displaystyle C={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}}{\begin{bmatrix}11\\13\\\end{bmatrix}}={\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}.} {\displaystyle C={\begin{bmatrix}1/2&0\\0&1/7\\\end{bmatrix}}{\begin{bmatrix}11\\13\\\end{bmatrix}}={\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}.}

Dengan T {\displaystyle T} {\displaystyle T} dan C {\displaystyle C} {\displaystyle C} dihitung, kami perkirakan x {\displaystyle x} {\displaystyle x} sebagai x ( 1 ) = T x ( 0 ) + C {\displaystyle x^{(1)}=Tx^{(0)}+C} {\displaystyle x^{(1)}=Tx^{(0)}+C}:

x ( 1 ) = [ 0 − 1 / 2 − 5 / 7 0 ] [ 1 1 ] + [ 11 / 2 13 / 7 ] = [ 5.0 8 / 7 ] ≈ [ 5 1.143 ] . {\displaystyle x^{(1)}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}{\begin{bmatrix}1\\1\\\end{bmatrix}}+{\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}={\begin{bmatrix}5.0\\8/7\\\end{bmatrix}}\approx {\begin{bmatrix}5\\1.143\\\end{bmatrix}}.} {\displaystyle x^{(1)}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}{\begin{bmatrix}1\\1\\\end{bmatrix}}+{\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}={\begin{bmatrix}5.0\\8/7\\\end{bmatrix}}\approx {\begin{bmatrix}5\\1.143\\\end{bmatrix}}.}

Hasil iterasi berikutnya

x ( 2 ) = [ 0 − 1 / 2 − 5 / 7 0 ] [ 5.0 8 / 7 ] + [ 11 / 2 13 / 7 ] = [ 69 / 14 − 12 / 7 ] ≈ [ 4.929 − 1.714 ] . {\displaystyle x^{(2)}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}{\begin{bmatrix}5.0\\8/7\\\end{bmatrix}}+{\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}={\begin{bmatrix}69/14\\-12/7\\\end{bmatrix}}\approx {\begin{bmatrix}4.929\\-1.714\\\end{bmatrix}}.} {\displaystyle x^{(2)}={\begin{bmatrix}0&-1/2\\-5/7&0\\\end{bmatrix}}{\begin{bmatrix}5.0\\8/7\\\end{bmatrix}}+{\begin{bmatrix}11/2\\13/7\\\end{bmatrix}}={\begin{bmatrix}69/14\\-12/7\\\end{bmatrix}}\approx {\begin{bmatrix}4.929\\-1.714\\\end{bmatrix}}.}

Proses ini diulangi sampai konvergensi (yaitu, sampai ‖ A x ( n ) − b ‖ {\displaystyle \|Ax^{(n)}-b\|} {\displaystyle \|Ax^{(n)}-b\|} kecil). Solusi setelah 25 iterasi adalah

x = [ 7.111 − 3.222 ] . {\displaystyle x={\begin{bmatrix}7.111\\-3.222\end{bmatrix}}.} {\displaystyle x={\begin{bmatrix}7.111\\-3.222\end{bmatrix}}.}

Contoh lain

[sunting | sunting sumber]

Contohnya kita diberi sistem linier berikut:

10 x 1 − x 2 + 2 x 3 = 6 , − x 1 + 11 x 2 − x 3 + 3 x 4 = 25 , 2 x 1 − x 2 + 10 x 3 − x 4 = − 11 , 3 x 2 − x 3 + 8 x 4 = 15. {\displaystyle {\begin{aligned}10x_{1}-x_{2}+2x_{3}&=6,\\-x_{1}+11x_{2}-x_{3}+3x_{4}&=25,\\2x_{1}-x_{2}+10x_{3}-x_{4}&=-11,\\3x_{2}-x_{3}+8x_{4}&=15.\end{aligned}}} {\displaystyle {\begin{aligned}10x_{1}-x_{2}+2x_{3}&=6,\\-x_{1}+11x_{2}-x_{3}+3x_{4}&=25,\\2x_{1}-x_{2}+10x_{3}-x_{4}&=-11,\\3x_{2}-x_{3}+8x_{4}&=15.\end{aligned}}}

Bila kita memilih (0, 0, 0, 0) sebagai pendekatan awal, maka solusi perkiraan pertama diberikan oleh

x 1 = ( 6 + 0 − ( 2 ∗ 0 ) ) / 10 = 0.6 , x 2 = ( 25 + 0 + 0 − ( 3 ∗ 0 ) ) / 11 = 25 / 11 = 2.2727 , x 3 = ( − 11 − ( 2 ∗ 0 ) + 0 + 0 ) / 10 = − 1.1 , x 4 = ( 15 − ( 3 ∗ 0 ) + 0 ) / 8 = 1.875. {\displaystyle {\begin{aligned}x_{1}&=(6+0-(2*0))/10=0.6,\\x_{2}&=(25+0+0-(3*0))/11=25/11=2.2727,\\x_{3}&=(-11-(2*0)+0+0)/10=-1.1,\\x_{4}&=(15-(3*0)+0)/8=1.875.\end{aligned}}} {\displaystyle {\begin{aligned}x_{1}&=(6+0-(2*0))/10=0.6,\\x_{2}&=(25+0+0-(3*0))/11=25/11=2.2727,\\x_{3}&=(-11-(2*0)+0+0)/10=-1.1,\\x_{4}&=(15-(3*0)+0)/8=1.875.\end{aligned}}}

Dengan menggunakan perkiraan yang diperoleh, prosedur iteratif diulangi sampai akurasi yang diinginkan tercapai. Berikut ini adalah solusi yang diperkirakan setelah lima iterasi.

x 1 {\displaystyle x_{1}} {\displaystyle x_{1}} x 2 {\displaystyle x_{2}} {\displaystyle x_{2}} x 3 {\displaystyle x_{3}} {\displaystyle x_{3}} x 4 {\displaystyle x_{4}} {\displaystyle x_{4}}
0.6 2.27272 -1.1 1.875
1.04727 1.7159 -0.80522 0.88522
0.93263 2.05330 -1.0493 1.13088
1.01519 1.95369 -0.9681 0.97384
0.98899 2.0114 -1.0102 1.02135

Solusi yang tepat dari sistem ini adalah (1, 2, −1, 1).

Contoh menggunakan Python dan NumPy

[sunting | sunting sumber]

Prosedur numerik berikut hanya melakukan iterasi untuk menghasilkan vektor solusi.

def jacobi(A, b, x_init, epsilon=1e-10, max_iterations=500):
    D = np.diag(np.diag(A))
    LU = A - D
    x = x_init
    for i in range(max_iterations):
        D_inv = np.diag(1 / np.diag(D))
        x_new = np.dot(D_inv, b - np.dot(LU, x))
        if np.linalg.norm(x_new - x) < epsilon:
            return x_new
        x = x_new
    return x

# problem data
A = np.array([
    [5, 2, 1, 1],
    [2, 6, 2, 1],
    [1, 2, 7, 1],
    [1, 1, 2, 8]
])
b = np.array([29, 31, 26, 19])

# you can choose any starting vector
x_init = np.zeros(len(b))
x = jacobi(A, b, x_init)

print("x:", x)
print("computed b:", np.dot(A, x))
print("real b:", b)

Menghasilkan keluaran:

x: [3.99275362 2.95410628 2.16183575 0.96618357]
computed b: [29. 31. 26. 19.]
real b: [29 31 26 19]

Lihat pula

[sunting | sunting sumber]
  • Metode Gauss–Seidel
  • Relaksasi berlebihan berturut-turut
  • Metode berulang§Sistem linier
  • Propagasi Keyakinan Gaussian
  • Pemisahan matriks

Referensi

[sunting | sunting sumber]
Sahid. 2005. Pengantar Komputasi Numerik dengan MATLAB. ANDI, Yogyakarta

Pranala luar

[sunting | sunting sumber]
  • (Inggris) Black, Noel; Moore, Shirley; and Weisstein, Eric W. "Metode Jacobi". MathWorld. Pemeliharaan CS1: Banyak nama: authors list (link)
  • Jacobi Method from www.math-linux.com
Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Metode_Jacobi&oldid=26979029"
Kategori:
  • Aljabar linear numerik
  • Artikel dengan contoh kodesemu
  • Relaksasi (metode berulang)
  • Artikel dengan contoh kode Python
  • Analisis numerik
Kategori tersembunyi:
  • Pages using the JsonConfig extension
  • Pemeliharaan CS1: Banyak nama: authors list

Best Rank
More Recommended Articles