Oleh:
Nama: Vania Mene Risriani
NIM: 20119016
I. Least Square
Saat memiliki sekumpulan data, sering kali dibutuhkan untuk melihat hubungan antar variabel dalam
bentuk persamaan. Metode representasi yang paling umum adalah polinomial derajat 𝑘 yang berupa:
𝑦 = 𝑎𝑘 𝑥 𝑘 + 𝑎𝑘−1 𝑥 𝑘−1 + ⋯ + 𝑎1 𝑥 + 𝑎0 + 𝑒
Misalkan,
𝑃𝑘 (𝑥) = 𝑎𝑘 𝑥 𝑘 + 𝑎𝑘−1 𝑥 𝑘−1 + ⋯ + 𝑎1 𝑥 + 𝑎0
Maka konstanta 𝑎𝑖 , 𝑖 ∈ [0, 𝑘] harus ditemukan yang meminimalkan kesalahan kuadrat terkecil:
𝑛
Metode kuadrat terkecil bertujuan untuk meminimalkan varians antara nilai yang diperkirakan dari
polinomial dan nilai yang diharapkan dari kumpulan data. Koefisien 𝑎𝑖 , 𝑖 ∈ [1, 𝑘] dan konstanta 𝑎0
dapat ditentukan dengan menyelesaikan system persamaan linier berikut.
𝑀𝑎 = 𝐵
𝑁 𝑁 𝑁
𝑁 ∑ 𝑥𝑖 ⋯ ∑ 𝑥𝑖𝑘 ∑ 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1
𝑁 𝑁 𝑁 𝑎0 𝑁
∑ 𝑥𝑖 ∑ 𝑥𝑖2 ⋯ ∑ 𝑥𝑖𝑘+1 𝑎1 ∑ 𝑥𝑖 𝑦𝑖
[ ⋮ ]=
𝑖=1 𝑖=1 𝑖=1 𝑖=1
⋮ ⋮ ⋱ ⋮ 𝑎𝑘 ⋮
𝑁 𝑁 𝑁 𝑁
𝑦 = ∑ 𝐿𝑖 𝑦𝑖
𝑖=0
𝑥−𝑥
Dimana 𝐿𝑖 = ∏𝑛𝑗=0;𝑗≠𝑖 𝑥 −𝑥𝑖
𝑖 𝑗
2
SOAL
1. Buatlah program dan jawab tugas berikut. Tulis kesimpulan analisis pwrbandingan hasil
dari model-model ini.
Diberikan data sebagai berikut:
𝑥𝑖 4 4.2 4.2 4.7 5.1 5.5 5.9 6.3 6.8 7.1
𝑦𝑖 102.56 113.18 130.11 142.05 167.53 195.14 224.87 256.73 299.50 326.72
2. Diberikan 𝑃3 (𝑥) menjadi polynomial interpolasi dengan data (0,0), (0.5, 𝑦), (1,3), dan
(2,2). Koefisien 𝑥 3 pada 𝑃3 (𝑥) adalah 6. Tentukan nilai 𝑦.
3. Diberikan 𝑓(𝑥) = √𝑥 − 𝑥 2 dan 𝑃2 (𝑥) adalah olinomial interpolasi di 𝑥0 = 0, 𝑥1 , & 𝑥2 =
1. Tentukan nilai 𝑥1 terbesar diantara (0,1) dengan 𝑓(0.5) − +𝑃2 (0.5) = −0.25.
3
PEMBAHASAN
a. Pada bagian ini akan dicari nilai koefisien 𝑎1 dan konstanta 𝑎0 dengan menggunakan
2
metode Least Squares berderajat 1. Maka akan dicari nilai ∑10 10 10
𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑦𝑖 dan
∑10
𝑖=1 𝑥𝑖 𝑦𝑖 sehingga diperoleh
10 54 𝑎0 1958
[ ] [𝑎 ] = [ ]
54 303 1 11367
Dari matriks tersebut didapatkan 𝑎0 = −194.138241 dan 𝑎1 = 72.084518.
Maka persamaan 𝑃1 (𝑥) = 72.084518 𝑥 − 194.138241 adalah fungsi aproksimasi
terbaik yang diperoleh dari metode ini. Berikut adalah nilai aproksimasi 𝑦 dengan nilai 𝑥
yang sudah diketahui pada soal.
𝑃1 (𝑥) 94.19 108.62 130.24 144.66 173.49 202.33 231.16 259.99 296.04 317.66
Sehingga diperoleh hasil simulasi dengan metode Least Squares berderajat 1 sebagai
berikut:
Setelah mendapatkan nilai 𝑃1 (𝑥) maka akan dibandingkan dengan nilai 𝑦 yang sudah
diketahui, hasil plot Matlab dapat dilihat pada Gambar 2. Pada Gambar 2 tersebut terlihat
bahwa hasil aproksimasi ( 𝑃1 (𝑥)) tidak tepat melewati beberapa titik data (𝑦).
b. Untuk bagian ini akan dicari koefisien 𝑎2 , 𝑎1 , & 𝑎0 dengan menggunakan metode Least
2 3 4
Squares berderajat 2. Sehingga akan dicari ∑10 10 10 10 10
𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑦𝑖 ,
∑10 10 2
𝑖=1 𝑥𝑖 𝑦𝑖 dan ∑𝑖=1 𝑥𝑖 𝑦𝑖 sehingga diperoleh
10 54 303 𝑎0 1958
[ 54 303 1760 ] [𝑎1 ] = [11367]
303 1760 10523 𝑎2 68007
Sehingga diperoleh nilai 𝑎2 = 6.618, 𝑎1 = −1.144, & 𝑎0 = 1.236.
Maka dari nilai 𝑎2 , 𝑎1 , & 𝑎0 dapat dibuat menjadi persamaan berikut:
𝑃2 (𝑥) = 6.618 𝑥 2 − 1.144 𝑥 + 1.236
Berikut adalah nilai aproksimasi 𝑦 dengan nilai 𝑥 yang sudah diketahui pada soal.
𝑃2 (𝑥) 102.55 113.18 130.11 142.06 167.54 195.15 224.87 256.71 299.49 326.74
5
Sehingga diperoleh hasil simulasi dengan metode Least Squares berderajat 2 sebagai
berikut:
Setelah mendapatkan nilai 𝑃2 (𝑥) maka akan dibandingkan dengan nilai 𝑦 yang sudah
diketahui, hasil plot Matlab dapat dilihat pada Gambar 4. Pada Gambar 4 tersebut terlihat
bahwa hasil aproksimasi (𝑃2 (𝑥)) tepat melewati beberapa titik data (𝑦).
6
c. Pada bagian ini akan menggunakan metode Least Squares berderajat 3, untuk
2
mendapatkan nilai 𝑎3 , 𝑎2 , 𝑎1 , & 𝑎0. Sehingga akan dicari ∑10 𝑖=1 𝑥𝑖 , ∑10
𝑖=1 𝑥𝑖 ,
3 4 5 6
∑10 10 10 10 10 10 10 2 10 3
𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑥𝑖 , , ∑𝑖=1 𝑥𝑖 , , ∑𝑖=1 𝑥𝑖 , ∑𝑖=1 𝑦𝑖 , ∑𝑖=1 𝑥𝑖 𝑦𝑖 , ∑𝑖=1 𝑥𝑖 𝑦𝑖 dan ∑𝑖=1 𝑥𝑖 𝑦𝑖 sehingga
diperoleh
10 54 303 1760 𝑎0 1958
𝑎
1760 10523 ] [ 1 ] = [ 11367 ]
[ 54 303
303 1760 10523 64608 𝑎2 68007
1760 10523 64608 405617 𝑎3 417730
7
Setelah mendapatkan nilai 𝑃3 (𝑥) maka akan dibandingkan dengan nilai 𝑦 yang sudah
diketahui, hasil plot Matlab dapat dilihat pada Gambar 6. Pada Gambar 6 tersebut terlihat
bahwa hasil aproksimasi (𝑃3 (𝑥)) tepat melewati beberapa titik data (𝑦), hasil tersebut
hampir sama dengan metode Least Squares dengan derajat 2, karena selisih dari kedua hasil
sangat kecil.
d. Pada soal berikut akan dibentuk 𝑦 = 𝑏𝑒 𝑎𝑥 lalu ubah bentuk tersebut menjadi persamaan
linier, sehingga dapat dikerjakan dengan menggunakan metode Least Squares berderajat
1. Bentuk tersebut dapat ditransformasi menjadi sebagai berikut:
𝑦 = 𝑏𝑒 𝑎𝑥
ln(𝑦) = ln(𝑏𝑒 𝑎𝑥 )
ln(𝑦) = ln(𝑏) + ln(𝑒 𝑎𝑥 )
ln(𝑦) = ln(𝑏) + 𝑎𝑥
Sehingga ubah nilai 𝑦 → ln (𝑦), diperoleh sebagai berikut:
𝑙𝑛(𝑦𝑖 ) 4,6 4,7 4,9 5,0 5,1 5,3 5,4 5,5 5,7 5,8
Selanjutnya untuk mencari 𝑎1 𝑑𝑎𝑛 𝑎0 dengan menggunakan metode Least Squares
berderajat 1, lalu diperoleh matriks sebagai berikut:
10 54 𝑎0 52
[ ] [𝑎 ] = [ ]
54 303 1 285
Dari matriks tersebut dapat diketahui nilai 𝑎1 = 𝑎 = 0.3723 𝑑𝑎𝑛 𝑎0 = 3.1888, karena
ln(𝑏) = 3.1888, maka nilai 𝑏 = 24.259. Sehingga didapatkan persamaanya sebagai
berikut:
8
𝑦 ∗ = (24.259)𝑒 0.3723𝑥
Setelah mendapatkan nilai 𝑦 ∗ maka akan dibandingkan dengan nilai 𝑦 yang sudah
diketahui, hasil plot Matlab dapat dilihat pada Gambar 8. Pada Gambar 8 tersebut terlihat
bahwa hasil aproksimasi (𝑦 ∗ ) tidak tepat melewati beberapa titik data (𝑦) dan hasil galat
tersebut memiliki nilai yang cukup besar, sehingga metode Least Squares dengan derajat 1
untuk bentuk 𝑦 = 𝑏𝑒 𝑎𝑥 kurang cocok dengan data yang dimiliki.
9
Gambar 8. Hasil plot software Matlab untuk polynomial dengan derajat 1
e. Pada bagian ini pun akan dibentuk ke dalam fungsi 𝑦 = 𝑏𝑥 𝑎 , maka ubah fungsi tersebut
menjadi fungsi linier agar dapat diselesaikan dengan menggunakan metode Least Squares
berderajat 1. Sehingga diperoleh bentuk seperti berikut:
ln(𝑦) = ln(𝑏) + 𝑎 ln(𝑥)
Maka ubah data 𝑦 menjadi ln(𝑦), didapatkan hasilnya seperti berikut:
𝑙𝑛(𝑦𝑖 ) 4,6 4,7 4,9 5,0 5,1 5,3 5,4 5,5 5,7 5,8
Selanjutnya untuk mencari 𝑎1 𝑑𝑎𝑛 𝑎0 dengan menggunakan metode Least Squares
berderajat 1, lalu diperoleh matriks sebagai berikut:
10 54 𝑎0 52
[ ] [𝑎 ] = [ ]
54 303 1 285
Dari matriks tersebut dapat diketahui nilai 𝑎1 = 𝑎 = 2.0195 𝑑𝑎𝑛 𝑎0 = 1.8308, karena
ln(𝑏) = 1.8308, maka nilai 𝑏 = 6.239. Sehingga didapatkan persamaanya sebagai
berikut:
𝑦 ∗ = (6.239)𝑥 2.0195
Berikut adalah nilai aproksimasi 𝑦 dengan mensubstitusikan nilai 𝑥 yang sudah diketahui
pada soal.
𝑦𝑖∗ 102.566 113.186 130.109 142.052 167.527 195.124 224.846 256.695 299.504 326.790
Sehingga diperoleh hasil simulasi dengan metode Least Squares berderajat 1 sebagai
berikut:
10
Gambar 9. Hasil software Matlab untuk polynomial dengan derajat 1
Setelah mendapatkan nilai 𝑦 ∗ maka akan dibandingkan dengan nilai 𝑦 yang sudah
diketahui, hasil plot Matlab dapat dilihat Gambar 10. Pada Gambar 10 tersebut terlihat
bahwa hasil aproksimasi (𝑦 ∗ ) tepat melewati titik data (𝑦) dan hasil galat tersebut memiliki
nilai yang cukup kecil, sehingga metode Least Squares dengan derajat 1 untuk bentuk 𝑦 =
𝑏𝑥 𝑎 cocok dengan data yang dimiliki.
11
Gambar 10. Hasil plot software Matlab untuk polynomial dengan derajat 1
2. Diberikan 𝑃3 (𝑥) menjadi interpolasi polinom dengan data (0,0), (0.5, 𝑦), (1,3), dan (2,2).
Koefisien 𝑥 3 pada 𝑃3 (𝑥) adalah 6. Akan dicari nilai 𝑦.
Metode interpolasi polinom untuk 𝑃3 (𝑥) sebagai berikut:
𝑃3 (𝑥) = L3 (𝑥)𝑓(𝑥3 ) + L2 (𝑥)𝑓(𝑥2 ) + L1 (𝑥)𝑓(𝑥1 ) + L0 (𝑥)𝑓(𝑥0 )
Sehingga untuk mencari nilai 𝐿0 (𝑥), 𝐿1 (𝑥), 𝐿2 (𝑥), dan 𝐿3 (𝑥) seperti berikut:
(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 ) (𝑥 − 0.5)(𝑥 − 1)(𝑥 − 2)
𝐿0 (𝑥) = =
(𝑥0 − 𝑥1 )(𝑥0 − 𝑥2 )(𝑥0 − 𝑥3 ) (0 − 0.5)(0 − 1)(0 − 2)
= −(𝑥 − 0.5)(𝑥 − 1)(𝑥 − 2)
7 11
= −𝑥 3 + 𝑥 2 − 𝑥+1
2 2
12
(𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) (𝑥 − 0)(𝑥 − 0.5)(𝑥 − 1)
𝐿3 (𝑥) = =
(𝑥3 − 𝑥0 )(𝑥3 − 𝑥1 )(𝑥3 − 𝑥2 ) (2 − 0)(2 − 0.5)(2 − 1)
𝑥(𝑥 2 − 1.5𝑥 + 0.5)
=
3
𝑥 3 − 1.5𝑥 2 + 0.5𝑥
=
3
Sehingga didapatkan nilai
7 11 8𝑥3 − 24𝑥2 + 16𝑥
𝑃3 (𝑥) = (−𝑥3 + 𝑥2 − 𝑥 + 1) (0) + ( ) 𝑦 + (−2𝑥3 − 5𝑥2 + 2𝑥)3
2 2 3
𝑥 3 − 1.5𝑥 2 + 0.5𝑥
+( )2
3
8𝑦𝑥 3 − 24𝑦𝑥 2 + 16𝑦𝑥 3 2
2𝑥 3 − 3𝑥 2 + 𝑥
𝑃3 (𝑥) = + (−6𝑥 − 15𝑥 + 6𝑥) + ( )
3 3
8𝑦 2 16𝑦 1
𝑃3 (𝑥) = 𝑥 3 ( − 6 + ) + 𝑥 2 (−8𝑦 − 15 − 1) + 𝑥 ( +6+ )
3 3 3 3
Karena diketahui bahwa koefisien dari 𝑥 3 adalah 6, maka dapat ditentukan nilai 𝑦-nya.
8𝑦 2
−6+ =6
3 3
8𝑦 34
=
3 3
8𝑦 = 34
𝑦 = 4.25
Sehingga diperoleh nilai 𝑦 = 4.25. ∎
13
𝑥2 − 𝑥1 𝑥 √ 2 𝑥2 − 𝑥 𝑥2 − 𝑥1 𝑥
𝑃2 (𝑥) = ( 0−0 )+ 2 (√𝑥1 − 𝑥21 ) + (√1 − 1)
1 − 𝑥1 𝑥1 − 𝑥1 1 − 𝑥1
𝑥2 − 𝑥1 𝑥 𝑥2 − 𝑥 𝑥2 − 𝑥1 𝑥
𝑃2 (𝑥) = (0) + 2 (√𝑥1 − 𝑥21 ) + (0)
1 − 𝑥1 𝑥1 − 𝑥1 1 − 𝑥1
𝑥2 − 𝑥
𝑃2 (𝑥) = (√𝑥1 − 𝑥21 )
𝑥21 − 𝑥1
Substitusikan nilai 𝑥 = 0.5 ke persamaan 𝑃2 (𝑥):
1 5
1 ± √1 − 4 (9) 1 ± √9 1 ± 1 √5 1 1
𝑥1;(1,2) = = = 3 = ± √5
2 2 2 2 6
14
1 1
𝑥1;1 = + √5 = 0.87267
2 6
1 1
𝑥1;2 = − √5 = 0.12732
2 6
Karena yang dicari adalah nilai 𝑥1 terbesar diantara (0,1), sehingga diambil nilai 𝑥1 =
0.87267 ∎
15
KESIMPULAN
Pada nomor 1 dapat akan ditunjukkan hasil simulasi pada Matlab yang diperoleh:
HASIL SIMULASI
KETENTUAN
𝑎0 𝑎1 𝑎2 𝑎3 Galat
Derajat 1 −194.138241 72.084518 - - 329.0132
Derajat 2 1.236 −1.144 6.618 - 0.00144
Derajat 3 3.429094 −2.379221 6.845578 −0.013675 0.000527
𝑦 = 𝑏𝑒 𝑎𝑥 24.258760 0.372382 - - 417.690995
𝑦 = 𝑏𝑥 𝑎 6.239029 2.019541 - - 0.007023
Dapat dilihat bahwa nilai 𝑎0 , 𝑎1 , 𝑎2 , & 𝑎3 pada tiap soal yang diberikan menghasilkan nilai yang
berbeda, karena ketentuan yang diminta berbeda-beda. Dalam menganalisis hasil tersebut dapat
dilihat dari hasil plot atau galat yang diperoleh. Jika membandingkan galatnya, dengan
menggunakan metode Least Squares untuk derajat 3 menghasilkan nilai galat yang paling kecil,
sehingga kecocokan data 𝑦 dengan hasil aproksimasi ( 𝑃3 (𝑥) ) hampir sesuai. Dari gambar yang
diperoleh pun Gambar 6 memberikan hasil yang baik. Sehingga dapat dikatakan untuk soal berikut
dengan menggunakan metode Least Squares dengan derajat yang besar menghasilkan fungsi 𝑃𝑛 (𝑥)
yang mendekati nilai 𝑦. Untuk syarat manipulasi 𝑦 = 𝑏𝑒 𝑎𝑥 dan 𝑦 = 𝑏𝑥 𝑎 diperoleh nilai 𝑎0 & 𝑎1
yang sesuai dengan ketentuan tersebut, dengan melihat hasil galatnya maka manipulasi 𝑦 = 𝑏𝑥 𝑎
cocok untuk data pada soal 1.
Pada nomor 2 dan 3, telah dibahas pada bagian sebelumnya. Dari pembahasan tersebut, untuk
nomor 2 di peroleh nilai 𝑦 = 4.25 dan untuk soal nomor 3 didapatkan nilai 𝑥1 terbesar diantara
(0,1), sehingga diambil nilai 𝑥1 = 0.87267.
16
DAFTAR PUSTAKA
17
LAMPIRAN
%------------------------------------------------------------------%
% Program Least Squares
%------------------------------------------------------------------%
% Name : Vania Mene Risriani
% NIM : 20119016
% Created : 09/09/2020
%------------------------------------------------------------------%
clear;clc;close;
x=[4.0;4.2;4.5;4.7;5.1;5.5;5.9;6.3;6.8;7.1];
y=[102.56;113.18;130.11;142.05;167.53;195.14;224.87;256.73;299.50;326.72];
ln_x =log(x);
ln_y = log(y);
m = length(x);
%% Main Code
disp('=======================================================================
=========================================')
disp(' Program Least Square
')
disp('=======================================================================
=========================================')
if soal == 1
fprintf('\nDiketahui bahwa:');
fprintf('\n- Data x adalah ');
fprintf('%f \t',x);
fprintf('\n- Data y adalah ');
fprintf('%f \t',y);
fprintf('\n\nHasil Simulasi:');
fprintf('\nDengan menggunakan metode Least Square akan diperoleh nilai
koefisien dan konstantanya.');
n = 1;
a = polycurvefit(x,y,n);
18
y_ls = 0;
for i=1:n+1
y_ls=y_ls+a(i)*x.^(i-1);
end
plot(x,y,'rdiamond',x,y_ls,'-b');
xlabel('x','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
ylabel('y','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
judul = sprintf('Least Square Polynomial of %d-degree',n);
title(judul,'FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
legend('data','Least Square');
elseif soal == 2
fprintf('\nDiketahui bahwa:');
fprintf('\n- Data x adalah ');
fprintf('%f \t',x);
fprintf('\n- Data y adalah ');
fprintf('%f \t',y);
fprintf('\n\nHasil Simulasi:');
fprintf('\nDengan menggunakan metode Least Square akan diperoleh nilai
koefisien dan konstantanya.');
n = 2;
a = polycurvefit(x,y,n);
y_ls = 0;
for i=1:n+1
y_ls=y_ls+a(i)*x.^(i-1);
end
gal = sum((y-(a(3)*x.^2+a(2)*x+a(1))).^2);
% gal = sum(sqrt((y-(a(3)*x.^2+a(2)*x+a(1))).^2/m));
19
fprintf('==============\n');
fprintf('\tP_%d(x) \n',n);
fprintf('==============\n');
fprintf(' %f \n',y_ls);
fprintf('==============\n');
fprintf('Dengan nilai galat = %f\n',gal);
plot(x,y,'rdiamond',x,y_ls,'-b');
xlabel('x','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
ylabel('y','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
judul = sprintf('Least Square Polynomial of %d-degree',n);
title(judul,'FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
legend('data','Least Square');
elseif soal == 3
fprintf('\nDiketahui bahwa:');
fprintf('\n- Data x adalah ');
fprintf('%f \t',x);
fprintf('\n- Data y adalah ');
fprintf('%f \t',y);
fprintf('\n\nHasil Simulasi:');
fprintf('\nDengan menggunakan metode Least Square akan diperoleh nilai
koefisien dan konstantanya.');
n = 3;
a = polycurvefit(x,y,n);
y_ls = 0;
for i=1:n+1
y_ls=y_ls+a(i)*x.^(i-1);
end
gal = sum((y-(a(4)*x.^3+a(3)*x.^2+a(2)*x+a(1))).^2);
% gal = sum(sqrt((y-(a(4)*x.^3+a(3)*x.^2+a(2)*x+a(1))).^2/m));
fprintf('\nSehingga didapatkan nilai a(0) = %f, a(1) = %f, a(2) = %f, dan
a(3) = %f\n',a(1),a(2),a(3),a(4));
fprintf('Maka diperoleh pula nilai y hasil dari aproksimasi tersebut
yaitu \n');
fprintf('==============\n');
fprintf('\tP_%d(x) \n',n);
fprintf('==============\n');
fprintf(' %f \n',y_ls);
fprintf('==============\n');
fprintf('Dengan nilai galat = %f\n',gal);
plot(x,y,'rdiamond',x,y_ls,'-b');
xlabel('x','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
ylabel('y','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
judul = sprintf('Least Square Polynomial of %d-degree',n);
20
title(judul,'FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
legend('data','Least Square');
elseif soal == 4
fprintf('\nDiketahui bahwa:');
fprintf('\n- Data x adalah ');
fprintf('%f \t',x);
fprintf('\n- Data y adalah ');
fprintf('%f \t',y);
fprintf('\n\nHasil Simulasi:');
fprintf('\nDengan menggunakan metode Least Square akan diperoleh nilai
koefisien dan konstantanya.');
n = 1;
a = polycurvefit(x,ln_y,n);
a0 = exp(a(1));
a1 = a(2);
y_ls = a0*exp(a1*x);
plot(x,y,'rdiamond',x,y_ls,'-b');
xlabel('x','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
ylabel('y','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
judul = sprintf('Least Square Polynomial of %d-degree',n);
title(judul,'FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
legend('data','Least Square');
grid on
elseif soal == 5
fprintf('\nDiketahui bahwa:');
fprintf('\n- Data x adalah ');
fprintf('%f \t',x);
fprintf('\n- Data y adalah ');
fprintf('%f \t',y);
fprintf('\n\nHasil Simulasi:');
21
fprintf('\nDengan menggunakan metode Least Square akan diperoleh nilai
koefisien dan konstantanya.');
n = 1;
a = polycurvefit(ln_x,ln_y,n);
a0=exp(a(1));
a1=a(2);
y_ls=a0.*(x.^(a1));
plot(x,y,'rdiamond',x,y_ls,'-b');
xlabel('x','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
ylabel('y','FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
judul = sprintf('Least Square Polynomial of %d-degree',n);
title(judul,'FontName','Times New
Roman','FontSize',16,'FontWeight','bold');
legend('data','Least Square');
else
end
%% Function
function a = polycurvefit(x,y,n)
m = length(x);
A = zeros(n+1, n+1);
B = zeros(n+1, 1);
a = zeros(n+1, 1);
22
a = A\B;
end
23