Metode Numerik Gauss Jordan MATLAB Script

Dalam postingan kali ini, saya akan memberikan Script M-File untuk melakukan perhitungan dengan menggunakan metode Gauss Jordan pada Sistem Persamaan Linear dalam perhitungan analisis numerik atau metode numerik. Berikut ini coding script yang dapat dijalankan pada program MATLAB dan script ini dapat dituliskan di Blank M-File MATLAB:




Pertama buat fungsi script di Blank M-File MATLAB dengan nama "mat_inv" (tanpa tanda kutip):




function b = mat_inv2(a)
[r,c] = size(a);

if r ~= c
    disp('Hanya Persegi Matriks')
    b=[];
    return
end

b = eye(r);

for j = 1 : r
    for i = j : r
        if a(i,j) ~= 0
            for k = 1 : r
                s = a(j,k); a(j,k) = a(i,k); a(i,k) = s;
                s = b(j,k); b(j,k) = b(i,k); b(i,k) = s;
            end
            t=1/a(j,j);
            for k = 1:r
                a(j,k)=t*a(j,k);
                b(j,k)=t*b(j,k);
            end
            for L = 1 : r
                if L ~= j
                    t = -a(L,j);
                    for k = 1 : r
                        a(L,k) = a(L,k) + t*a(j,k);
                        b(L,k) = b(L,k) + t*b(j,k);
                    end
                end
            end
        end
        break
    end
    if a(i,j) == 0
        disp('Peringatan: Singular Matriks')
        b = 'error';
        return
    end
end



Selanjutnya buat script berikut di Blank M-File MATLAB dengan nama apapun



c = input('masukkan orde matriks: ')
a = zeros(c,c);
for i=1:c
    for j=1:c
        str=['masukkan element in baris ke-' num2str(i) ', kolom ke- ' num2str(j) ':'];
        a(i,j)=input(str);
    end
end

b=mat_inv2(a);
input('enter masukkan nilai b, untuk A.x=b')
for i = 1 : c
    for j = 1 : c
        str=['masukkan elemen baris ke-' num2str(i) ', kolom ke-' num2str(j) ':'];
        d(i,j)=input(str);
    end
end

d

input('tekan enter untuk melihat nilai dari x(x=A^-1*b): ')
x=b*d



Ditulis oleh: Wahyu Dwi Lesmono DSMLMD Blog Diposting pukul: 8:37:00 pm

No comments :

Post a Comment

Apabila ada komentar, pertanyaan, maupun tanggapan silahkan kirimkan komentar disini sesuai dengan postingan ini. Jika terdapat isi komentar yang tidak pantas sesuai dengan etika dalam berkomentar di blog, maka komentar tidak akan dipublis. Pertanyaan dan tanggapan akan segera dibalas.