Selasa, 28 Agustus 2012

[bs] Delta Function and It's Differential

delta-function didefinisikan sebagai :


dengan phi(x) adalah test-function. delta-function dapat juga dipikirkan sebagai fungsi yang memiliki sifat : 


Kurva delta-function tampak dalam gambar di bawah ini.


Kita juga boleh membayangkan delta-function sebagai limit suatu fungsi sederhana seperti di bawah ini :


karena,


dan

untuk epsilon > 0, sehingga



lihat Gambar di atas. delta-function biasa dipakai untuk mengungkapkan distribusi potensial listrik dalam atom, kemudian untuk mengungkapkan sebuah impuls (sebuah gaya yang bekerja pada waktu yang singkat).


Untuk membuat sebuah fungsi dalam Matlab, seperti yang biasa kita lakukan, adalah dengan memakai perintah function, namun kali ini kita tidak langsung memberinya input berupa angka melainkan sebuah variabel. Oleh karena ini kita juga akan menggunakan perintah syms untuk mendeklarasikan nama variabel.

file 1 : delta-function

function d=delta(x,epsi,p)
% delta dirac
d=(1/p)*(epsi./(epsi^2+x^2));


file 2 : compiler untuk menampilkan hasil

clear all
syms x epsi p
Y = delta(x,epsi,p)


Save dengan nama, sebagai contoh, d3. Setelah di eksekusi kita akan memperoleh keluaran berupa fungsi yang masih mengandung variabel, yakni x, epsi dan p.


Karena keluaran masih berupa fungsi, maka kita perlu melakukan substiusi nilai-nilai agar dapat mendapatkan kurva fungsi delta. Yakni dengan menggunakan perintah subs :

clear all
syms x epsi p % nama-nama variabel dalam fungsi

awal  = -2;   % batas kiri nilai-x
akhir =  2;   % batas kanan nilai-x
n = 0;
X    = awal;  % Nilai yang akan di substitusikan ke variable x.
Epsi1 = 0.01; % Nilai yang akan disubstitusikan ke variable epsi
Epsi2 = 0.02;
Epsi3 = 0.03;

Pi   = 3.14;  % Nilai yang akan disubstitusikan ke variabel p.

while X<=akhir; 
   n = n+1; 
   Y1 = subs(delta(x,epsi,p),{x,epsi,p},{X,Epsi1,Pi});
   Y2 = subs(delta(x,epsi,p),{x,epsi,p},{X,Epsi2,Pi});
   Y3 = subs(delta(x,epsi,p),{x,epsi,p},{X,Epsi3,Pi});
   Xaxis(n)  = X ;
   Y1axis(n) = Y1;
   Y2axis(n) = Y2;
   Y3axis(n) = Y3;
   X=X+0.02*(akhir-awal);
   end
plot(Xaxis,Y1axis,'b.-',Xaxis,Y2axis,'r.-',Xaxis,Y3axis,'g.-')
legend('epsilon = 0.01','epsilon = 0.02','epsilon = 0.03')
xlabel('X')
ylabel('delta function')


Fungsi Y (delta-function) kini, setelah disubstitusikan nilai akan dapat menghasilkan kurva :



Kemudahan yang ditawarkan perintah syms ini kita dapat melakukan proses matematis seperti : diferensial dan integral secara langsung tanpa harus menyelesaikannya secara eksak (di atas kertas) terlebih dahulu. Pada contoh ini kita akan melakukan proses diferensial. Selanjtnya, untuk memperoleh hasil numerik dari fungsi yang mengalami diferensial ini kita gunakan perintah substitusi. Contoh algoritmanya sebagai berikut.

clear all

syms x epsi p
awal  = -2;
akhir =  2;
n = 0;
X    = awal;
Epsi1 = 0.01;
Epsi2 = 0.02;
Epsi3 = 0.03;

Pi   = 3.14;

while X<=akhir; 
   n = n+1; 
   Y1 = subs(diff(delta(x,epsi,p),x),{x,epsi,p},{X,Epsi1,Pi});
   Y2 = subs(diff(delta(x,epsi,p),x),{x,epsi,p},{X,Epsi2,Pi});
   Y3 = subs(diff(delta(x,epsi,p),x),{x,epsi,p},{X,Epsi3,Pi});
   Xaxis(n)  = X ;
   Y1axis(n) = Y1;
   Y2axis(n) = Y2;
   Y3axis(n) = Y3;
   X=X+0.02*(akhir-awal);
   end
plot(Xaxis,Y1axis,'b.-',Xaxis,Y2axis,'r.-',Xaxis,Y3axis,'g.-')
legend('epsilon = 0.01','epsilon = 0.02','epsilon = 0.03')
xlabel('X')
ylabel('delta function')



Kurva differensial delta-function tampak dalam gambar di bawah ini.


Kekurangan dari penggunaan perintah syms ini adalah pemakaian waktu yang menjadi lebih panjang bila dibandingkan ketika kita langsung memberikan input berupa angka dan mengerjakan perhitunga diferensial secara eksak (di atas kertas) terlebih dahulu.

Tidak ada komentar :