hint de bi hint yok; m file ı function yap demek istemiş, o kadar.
iki yolu var,
birincisi:
det [a b c ; d e f ; g h i]= aei + bfg + cdh - ceg - bdi - afh
sadece 3x3 matriste işe yarar.
şöyle uygulanabilir:
function [sonuc]=deterrr (matris)
sonuc=(matris(1,1)*matris(2,2)*matris(3,3)) + (matris(1,2)*matris(2,3)*matris(3,1)) + (matris(1,3)*matris(2,1)*matris(3,2)) - (matris(1,3)*matris(2,2)*matris(3,1)) - (matris(1,2)*matris(2,1)*matris(3,3)) - (matris(1,1)*matris(2,3)*matris(3,2))
gibi.
Ya da daha güzeli:
LU factorization kullanarak row reduction ile hesaplamak ki matlab de bu şekilde hesaplıyordu diye biliyorum.
LU kodlamak çok basit aslında ama arkadaşın işin temelinde anladığım,o yüzden lu yu matlab e hesaplatalım; bu kod idare eder, bu kod matris boyundan bağımsız hepsini çözer:
function [sonuc]=deterrr (matris)
a=size(matris,1)
[l,u]=lu (matris)
sonuc=u(1,1)
for var=2:a
sonuc=sonuc*u(var,var)
end
bunu editore yazıp save edin deterrr adıyla,
sonra istediğiniz boy bir matrisi command window dan girin
örneğin mat=rand(3) diyebilirsiniz, 3x3 rastgele matris üretir.
sonra yine command window a
a=deterrr(mat) yazın
sonucu alırsınız.
0