Anda di halaman 1dari 11

Nama: Ramdan

NIM: 18010040
Kelas: TE-B
M.K: Prak. Komputasi Numerik
TUGAS 7 KOMPUTASI REGRESI
No. 1:
Angka terakhir NIM (genap): 18010040

A. Regresi Linier
Sintaks:
>> x=[6 9 3 8 7 5 8 10]
x=
6 9 3 8 7 5 8 10
>> y=[30 49 18 42 39 25 41 52]
y=
30 49 18 42 39 25 41 52
>> X=[ones(size(x));x]
X=
1 1 1 1 1 1 1 1
6 9 3 8 7 5 8 10
>> A = X*X'
A=
8 56
56 428
>> B = X*y'
B=
296
2257
>> a =A\B
a=
1.0278
5.1389
>> xa=3:0.1:10;
>> ya=a'*[ones(size(xa)); xa];
>> plot(x,y,'o',xa,ya,'-')
>> title('Grafik Persamaan Regresi Linier')
Output: command window
Figure:

B. Regresi Polinomial.
Sintaks:
>> x=[6 9 3 8 7 5 8 10]
x=
6 9 3 8 7 5 8 10
>> y=[30 49 18 42 39 25 41 52]
y=
30 49 18 42 39 25 41 52
>> X=[ones(size(x)); x; x.^2]
X=
1 1 1 1 1 1 1 1
6 9 3 8 7 5 8 10
36 81 9 64 49 25 64 100
>> A = X*X'
A=
8 56 428
56 428 3464
428 3464 29156
>> B = X*y'
B=
296
2257
18259
>> a =A\B
a=
4.9071
3.7941
0.1034
>> xa=3:0.1:10;
>> ya=a'*[ones(size(xa)); xa; xa.^2];
>> plot (x,y,'o',xa,ya,'-')
>> title('Grafik Persamaan Regresi Polinomial')
Output: command window
Figure:

Hasil persamaan regresinya adalah 𝑦 = 4,9071 + 4,7941𝑥 + 0,1034𝑥 2 .


Kita bandingkan hasil regresi polinomial ini dengan kurva pada regresi linier. Hasilnya tampak tidak jauh
berbeda. Hal ini karena koefisien 𝑥 2 memiliki nilai yang cukup kecil sehingga dapat diabaikan. Meskipun
demikian, lengkungan yang dihasilkan masih dapat diamati.

No. 2:
Andaikan kita mempunyai data seperti berikut (jalankan perintah-perintah ini dan perhatikan hasilnya) :

Sintaks:
>> x = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
>> y = [-.447 1.987 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
>> plot(x,y,'-',x,y,'o')
Command window:

Figure:
A. Program Pertama (simpan dengan nama file intpol1.m)
Sintaks:
clear;
clc;
clf;
t=1900:10:1990;
p=[75.995 91.972 105.711 123.203 131.669 150.697 179.32 203.212 226.505 249.633];
% untuk estimasi pada tahun 1975
y=interp1(t,p,1925);
disp(y)
subplot(1,2,1);
plot(t,p,'o',1925,y,'k');
x =1900:1:2000;
% untuk estimasi dari tahun 1900-2000
y1=interp1(t, p, x, 'spline');
disp(y1);
subplot (1, 2, 2);
plot (t, p, 'o' , x, y1, '.k');

Matlab editor:

Command Window:
Figure:

B. Program kedua: (simpan dengan nama file intpol2.m)


Sintaks:
clear;
clc;
clf;
x =0:10;
y=sin(x);
xi=0:.25:10;
yi=interp1(x, y, xi, 'nearest');
subplot(2,2,1) ;
plot(x,y,'o',xi,yi,'-k')
title('Kurva interpolasi metode nearest')
yi=interp1(x,y,xi,'linear');
subplot(2,2,2) ;
plot(x,y,'o',xi,yi,'-k')
title('Kurva interpolasi metode linear')
yi=interp1(x, y, xi, 'pchip');
subplot(2,2,3) ;
plot (x, y,'o',xi,yi,'-k');
title('Kurva interpolasi metode cubic')
yi=interp1(x, y, xi, 'spline');
subplot(2,2,4) ;
plot(x,y,'o',xi,yi,'-k' )
title ('Kurva interpolasi metode spline')

Matlab editor:
Command Window:

Figure:

Walaupun grafik muncul dengan sempurna namun sintaks pada modul ada muncul peringatan yang mana pada interp1(.....,;
‘cubic’) matlab menyuruh menggunakan
interp1(..., ‘pchip’). ScreenShoot dibawah adalah hasil sebelum dirubah.

C. Program Ketiga: (simpan dengan nama file intpol3.m)


Sintaks:
clear;
clc;
clf;
% colormap('gray')
[x,y,z] = peaks(10);
[xi,yi] = meshgrid(-3:.1:3, -3:.1:3);
zi = interp2(x,y,z,xi, yi, 'nearest');
subplot(2,2,1) ;
mesh(xi,yi, zi);
title('Kurva interpolasi metode nearest')
subplot(2,2,2);
zi = interp2(x,y,z,xi,yi, 'Linear');
mesh(xi,yi, zi);
title('Kurva interpolasi metode linear')
subplot (2, 2, 3) ;
zi = interp2(x,y,z,xi,yi, 'cubic');
mesh(xi,yi,zi);
title('Kurva interpolasi metode cubic');
subplot(2,2,4) ;
zi = interp2 (x, y,z,xi,yi,'spline');
mesh(xi,yi,zi);
title('Kurva interpolasi metode spline');

Matlab editor:

Command Window:

Figure:
Bandingkan hasil yang diperoleh dari program kedua dan program ketiga! Perhatikan perbedaannya! Apa
sebabnya? Tuliskan analisisnya!
Jawab:
Sebabnya yaitu pada program kedua hasilnya grafik (kurva) dengan plot 2 dimensi. Sedangkan pada program
ketiga yaitu hasilnya grafik(kurva) 3 dimensi.
Analilisnya:
Pada program kedua
x =0:10; yaitu sumbu x sama dengan 0 sampai 10 sudah dipastikan jika penulisan sintaksnya seperti ini
akan membentuk kurva 2dimensi.
Kemudian sumbu y=sin(x); artinya sumbu y sama dengan sin(x) sehingga ini akan membentuk kurva 2
dimensi.
Kemudian pada sintaks xi=0:.25:10; artinya xi sama dengan 0 sampai 0.25 sampai 10 bisa dilihat pada
grafik menunjukkan sumbu x nya 0 sampai 10.

Pada program ketiga


% colormap('gray') memberi warna pada map.
[x,y,z] = peaks(10); berpengaruh pada sumbu ada 3 sumbu yaitu x,y,z sehingga akan membuat
grafik (kurva) 3 dimensi dengan peak nya 10 artinya yaitu dari 0 sampai 10.
[xi,yi] = meshgrid(-3:.1:3, -3:.1:3); kemudian arti dari xi dan yi itu membentuk sumbu x
dan y sama yaitu ada 3 sumbu negatif dan positif.

Anda mungkin juga menyukai