Anda di halaman 1dari 12

MINIMUM DAN MAKSIMUM

FUNGSI
• Untuk melakukan optimasi, kita harus mendapatkan maksimum atau minimum dari fungsi pada suatu
interval.

• Dalam hal ini MATLAB menggunakan metode Numerik untuk menemukan minimum dari suatu fungsi

• Algoritma yang digunakannya iteratif, yaitu suatu proses berulang.

• Metode iteratif ini membutuhkan tebakan awal x0.

• Dari nilai awal ini akan diperoleh nilai berikutnya, x1, yang diharapkan semakin mendekati xmin.

• Proses iterasi ini berlanjut hingga nilai xi yang mendekati dengan akurasi tertentu diperoleh, di mana
• Dalam MATLAB tidak ada command untuk
menentukan maksimum suatu fungsi f(x),

• namun dalam hal ini bisa digunakan fungsi


g(x) = − f(x) untuk dicari minimumnya.
• fminbnd(‘fcn’,x1,x2)
menghitung minimum dari fungsi satu
variabel fcn pada interval x1 < x < x2

• fminsearch(‘fcn’,x0)
menghitung minimum dari fungsi multi
variabel fcn dengan tebakan awal berupa
vektor x0.
mencari minimum dari fungsi sinus pada interval
0 ≤ x ≤ 2π.
>> minimum_sinus=fminbnd('sin',0,2*pi)
minimum_sinus =

4.7124
• Mencari nilai minimum fungsi pada interval 0≤x ≤2

>> x=0:2;

>> minimum_fungsi=fminbnd('(5.*x-6.4)./((x-
1.3).^2+0.002)+(9.*x)./(x.^3+0.03)-(x-0.4)./((x-0.92).^2+0.005)',0,2)

minimum_fungsi =

1.2277
Cara Lain (M-file)
Ketik script di M-file

function y = f(x)

y=(5.*x-6.4)./((x-1.3).^2+0.002)+(9.*x)./(x.^3+0.03)-(x-0.4)./((x-0.92).^2+0.005);

Save as dengan nama f.m

Panggil di command window

>> minimum_fungsi=fminbnd('f',0,2)

minimum_f1 =

1.2277

>> minimum_f2=fminbnd('f',0,1)

minimum_f2 =

0.9260
Script dalam M-file

function g = gx1x2(x)

g=x(1).^2+x(2).^2-0.25.*x(1).*x(2)-sin(x(1));

Save as dengan nama gx1x2.m

Command Window

>> minimum_gx1x2=fminsearch('gx1x2',[1,0])

minimum_gx1x2 =

0.4560 0.0570
Curve-Fitting

• Pencocokkan kurva polyfit(x,y,n)


(curve-fitting) yang
akan dibahas di sini menghitung vektor
ialah pencocokkan titik- berisi koefisien
titik data dengan suatu polinomial orde-n yang
fungsi polinomial mendekati titik-titik
dengan metode
data di ( xi , yi )
pendekatan kuadrat
terkecil (least squares
approximation).
>> t = [0 2 3 5 8.5 10 12];

>> pres = [660 900 400 300 500 50


300];

>> p3 = polyfit(t,pres,3);

>> p4 = polyfit(t,pres,4);

>> p5 = polyfit(t,pres,5);
>> tt = linspace(0,12,100);

>> kurva_p3 = polyval(p3,tt);

>> kurva_p4 = polyval(p4,tt);

>> kurva_p5 = polyval(p5,tt);

>> figure;

>> plot(t,pres,'k*',tt,kurva_p3,'k-',tt,kurva_p4,'k:',tt,kurva_p5,'k--')

>> grid on;

>> xlabel('waktu (jam)'), ylabel('Pressure')

>> legend('data','orde-3','orde-4','orde-5')

>> title('Perbandingan pendekatan polinomial')


Perbandingan pendekatan polinomial
1200
data
orde-3
1000
orde-4
orde-5
800

600
Pressure

400

200

-200
0 2 4 6 8 10 12
waktu (jam)