Selasa, 04 Desember 2018

determinan dan invers matriks program matlab

salah satu contoh komputasi matlab untuk menjalankan determinan dan invers dalam satu program


clc;
clear all;

syms Yes
syms No

pilihan=Yes;
while (pilihan == Yes)
    fprintf('\n=== Tentukan yang ingin anda cari ===\n1. determinan matriks\n2. invers matriks\n\n');
    pilih = input ('masukkan pilihan anda = ','s');
    error = 0;
    switch pilih
     
        case '1'
            A=input ('masukkan matriks:');
m = length (A);

for k = 1:m
    for i = k+1 :m
        faktor=A(i,k)/A(k,k);
        for j =1:m
            A(i,j)=A(i,j)- (faktor*A(k,j));
        end
        A
    end
end
disp(A);
det =1;
for i=1:m
    det=det*A(i,i);
end
fprintf('determinan A=%f\n', det);


case '2'
    data=input('masukkan matriks=');

[baris,kolom]=size(data);
for b = 1:baris
    for c=1:kolom
       % printf('matriks identitas',A(i,j));
        if b==c
            Gi(b,c)=1;
        else
            Gi(b,c)=0;
        end
    end
end
kali=data

for ba=1:kolom
    G{ba}=Gi;
    for c=1:baris
        aa=kali(ba,ba);
        if ba==c
            G{ba}(c,ba)=1/aa;
        else
            G{ba}(c,ba)=kali(c,ba)/(-aa);
        end
    end
    disp(['Nilai G',num2str(ba)])
    disp([num2str(G{ba})])
    G1=G{ba};
    f=kali
[barisa,koloma]=size(f);
[barisG,kolomG]=size(G1);
for i= 1:barisG
    for j= 1:koloma
        for b=1:barisa
            kalii(b)=G1(i,b)*f(b,j);
        end
        [bkali,kkali]=size(kalii);
        e=0;
        for d=1:kkali;
            e=e+kalii(d);
        end
        kali(i,j)=e;
    end
end
disp(['hasil kali matriks'])
kali
end

[baris,k]=size (G);
kali=G{1};
for m=2:k
    f=kali;
    G1=G{m};
    [barisa,koloma]=size(f);
    [barisG,kolomG]=size(G1);
    for i=1:barisG
        for j=1:koloma
            for b=1:barisa
                kalii(b)=G1(i,b)*f(b,j);
            end
            [bkali,kkali]=size(kalii);
            e=0;
            for d=1:kkali
                e=e+kalii(d);
            end
            kali(i,j)=e;
        end
    end
end
disp(['hasil invers matriks'])
inversA=kali
    end             
    pilihan = input('Apakah anda ingin melanjutkan (Yes/No): ');

if (pilihan==No)
    fprintf ('\nterimakasih');
end
end

Tidak ada komentar:

Posting Komentar