Kepada Para Pengunjung

Hallo semuanya, ini merupakan blog bagian pertama ku. Kalian bisa melihat cerita saya dan lainnya. Oh yang belum kenalan tentang saya, lihat di profil saya.

Catatan : Setelah membaca artikel saya, dimohon untuk berkomentar di blog saya.

Note for english people : If you don't know about my language you can translate my language in This Link . Some word can't translate. Because, several word are Indonesian Style language.


Note : If you translate it, text will look funny. Enjoy reading

Translate This Blog

Kamis, 03 Juli 2014

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



Metode Numerik Eliminasi Gauss MATLAB Script

Dalam postingan kali ini, saya akan memberikan Script M-File untuk melakukan Eliminasi Gauss 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 yang selanjutnya dapat dirun dengan nama GAUSS_ELIM:

function x = GAUSS_ELIM(A, b)
A=[2 0 0 0; 1 3 0 0; 3 4 2 0; -1 3 -6 -1];
b=[-10; 4; 2; 8];
n = size(A, 1);
r = zeros(n, 1);
for i = 1 : 1 : n
    r(i) = i;
end

x=zeros(n,1);
for k = 1 : 1 : n
    max = abs(A(r(k), r(k)));
    max_pos = k;   
    for l = k : 1 : n
        if abs(A(r(l), r(k))) > max;
            max=abs(A(r(l), r(k)));
            max_pos = l;               
        end
    end
    temp_r=r;
    r(k)=temp_r(max_pos);
    r(max_pos)=temp_r(k);
    for i = 1:1:n
        if i ~= k
            zeta = A(r(i),k)/A(r(k),k);
            for j = k : 1 : n
                A(r(i),j)=A(r(i),j)-A(r(k),j)*zeta;
            end
            b(r(i)) = b(r(i)) - b(r(k))*zeta;
        end
    end
end

for i = 1 : 1 : n
    x(i) = b(r(i))/A(r(i),i);
end

end