Friday, October 26, 2012

Mengenai backslash (\) di MATLAB

test_jac.m
Entah kenapa perintah backslash (\) di MATLAB sedikit lebih efisien 
dalam menyelesaikan persamaan linear ketimbang perintah 'linsolve'.
Apakah karena pegawai di MATLAB lagi kekurangan pekerjaan???
clc;
t1=0; t2=0;
for i=1:400,
    A = [11 3 -12;5 -2 -1;6 -6 -12];
    C = [12;32;11];
    clear B;
    tic;
    B = linsolve(A,C);
    t1=t1+toc;
    clear B;
    tic;
    B = A\C;
    t2=t2+toc;
end
t1=t1/100;
t2=t2/100;
disp([num2str(t1), '   ',num2str(t2)]);
Hasil eksekusinya adalah:
0.00011418   9.125e-005
Mungkin di komputer anda sedikit berbeda, tapi intinya sama, t1 
lebih besar dari t2. Dan itu tetap berlaku kendatipun backslash
dieksekusi terlebih dahulu ketimbang linsolve (dipasang pada baris
yang lebih awal)