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