Laguerre [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up

Laguerre [PDF]

LANGKAH-LANGKAH METODE LAGUERRE. 1. Menentukan fungsi integral yang ingin di selesaikan 2. Menentukan batas atas dan bat

3 0 72 KB

Report DMCA / Copyright

DOWNLOAD FILE


File loading please wait...
Citation preview

LANGKAH-LANGKAH METODE LAGUERRE. 1. Menentukan fungsi integral yang ingin di selesaikan 2. Menentukan batas atas dan batas bawah. 3. Menentukan nilai 4. Mensubtitusikan nilai xi dan yi ke fungsi Integral. 5. Menghitung jumlah Laquerre sumLA = = 1sampai n. 6. Menghitung integrasi sumLA 7. Membuat program MATLAB dalam menyelesaikan integral lipat dua dengan metode Kuadratur Gauss Hermite dan Kuadratur Gauss Laguerre. ALGORITMA DAN PROGRAM METODE LAGUERRE. Script Untuk Metode Kuadratur Gauss Laguerre clc; clear; syms y x; sym ('fx'); format long fx= input('Masukkan Fungsi f(x,y) :'); a=input('Masukkan batas bawah (a) daerah integrasi terhadap variabel x :'); b=input('Masukkan batas atas (b) daerah integrasi terhadap variabel x :'); c=input('Masukkan batas bawah (c) daerah integrasi terhadap variabel y : '); d=input('Masukkan batas atas (d) daerah integrasi terhadap variabel y :'); %Mengunakan metode GAUSS LAQUERRE x1=((b-a)/2)*(2-sqrt(2))+(a+b)/2 x2=((b-a)/2)*(2+sqrt(2))+(a+b)/2 y1=((d-c)/2)*(2-sqrt(2))+(d+c)/2 y2=((d-c)/2)*(2+sqrt(2))+(d+c)/2 fx1y1=subs(fx,{x,y},{x1,y1}) fx1y2=subs(fx,{x,y},{x1,y2}) fx2y1=subs(fx,{x,y},{x2,y1}) fx2y2=subs(fx,{x,y},{x2,y2}) sumLA=((1/4)*(2+sqrt(2)))*fx1y1+((1/4)*(2-sqrt(2)))*fx1y2+ ((1/4)*(2-sqrt(2)))*fx2y1+((1/4)*(2-sqrt(2)))*fx2y2 LA = ((b-a)/2)*((d-c)/2)*sumLA



Fungsi polyroot dalam modul ini menghitung semua akar Pn(x) = 0, di mana polinomial Pn(x) didefinisikan oleh array koefisiennya a = [a1, a2, a3, ..., an + 1], setelah akar pertama dihitung oleh subfungsi laguerre, polinomial



dideflasi



menggunakan



deflpoly



dan



nol



berikutnya dihitung dengan menerapkan laguerre ke polinomial deflated. Proses ini diulangi sampai semua n akar telah ditemukan. Jika root yang dikomputasi memiliki bagian imajiner yang sangat kecil, sangat mungkin bahwa itu merupakan kesalahan pembulatan. Oleh karena itu, polyroot menggantikan bagian imajiner kecil dengan nol. PROGRAM POLYROOTS METODE LAGUERRE. function root = polyroots(a,tol) %Return all the roots of the polynomial %a(1)*x^n + a(2)*x^(n-1)+ ... + a(n+1). %USAGE: root = polyroots(a,tol). %tol = error tolerance (default is 1.0e4*eps). if nargin == 1; tol = 1.0e-6;end n = length(a)-1; root = zeros(n,1); for i = 1:n x = laguerre(a,tol); if abs(imag(x)) < tol; x = real (x); end root(i) = x; a = deflpoly(a,x); end function x = laguerre(a,tol) %Returns a root of the polynomial %a(1)*x^n + a(2)*x^(n-1) + ... + a(n+1). x = randn; %Start with random number n = length(a)-1; for i = 1:30 [p,dp,ddp] = evalpoly(a,x); if abs(p)< tol; return;end g = dp/p; h=g*g-ddp/p; f = sqrt((n-1)*(n*h-g*g)); if abs(g+f) >= abs(g-f); dx = n/(g+f); else; dx = n/(g-f); end x = x-dx;



if abs(dx)< tol; return; end end error('Too many iteration in Laguerre') function b = deflpoly(a,r) %Horner's deflation: %a(1)*x^n+a(2)*x^(n-1)+...+a(n+1) %=(x-r)[b(1)*x^(n-1)+b(2)*x^(n-2)+...+b(n)]. n= length(a)-1; b= zeros(n,1); b(1)=a(1); for i = 2:n; b(i)=a(i)+r*b(i-1); end