OPTIMIZATION WITH MATLAB
DENGAN LEVENBERG MARQUARDT
1. Tujuan
Bertujuan untuk menjelaskan, secara matematis, tujuan menyelesaikan masalah dalam jalan terbaik
2. Teori
Problem optimasi secara tipikal akan memaksimalkan atau meminimalkan suatu fungsi yang disebut fungsi obyektif (objective function) pada himpunan titik-titik S (feasible set).
3. Fungsi
Problem: menemukan nilai 𝑥1 dan 𝑥2 sedemikian sehingga fungsi obyektif menjadi optimal.
4. Percobaan
Fungsi Objektif 1:
function F = twoexpsmooth(par,data)
% par: parameter pemulusan, matriks (2,1)
% data
a = length(data);
L = zeros(a,1)
b = zeros(a,1)
F = zeros(a,1)
L(1) = (data(1)+data(2)+data(3)/3;
b(1) = data(2)-data(1);
F(1) = (data(1)+data(2)+data(3)/3;
for t = 2 : a,
L(t) = par(1)*data(t)+(1-par(1))*(L(t-1)+b(t-1));
b(t) = par(2)*(L(t)-L(t-1))+(1-par(2))*b(t-1);
F(t) = L(t-1) + b(t-1);
end
Proses Optimasi
clc
option = optimset ('To1Fun', 1e-4, 'Display', 'iter', 'Algoritma', 'Levenberg-marquardt')
%ydata = randi([10 50], 10, 1);
ydata = [5.1;4;6.7;5;9.2;7.8;10;5.3;11.1];
xdata = linspace(1,10,10)';
x0 = [0.1;0.2];
[par,renosnorm] = lsqcurvefit(@(par,data)twoexpsmooth(par,ydata),x0,xdata,ydata,[0;0],[1;1],option)
Tidak ada komentar:
Posting Komentar