agung hm

6
Program Matlab. Soal no 1. clc; %Junmlah data yang digunakan semua variable (n) n=6; %Data dari variable x=[3;5;6;8;12;14]; y=[16;10;7;4;3;2]; z=[90;72;54;42;30;12]; %Operasi perkalian invers invX = x'; invY = y'; sumX = sum(x); sumY = sum(y); sumZ = sum(z); sumXY = invX*y; sumXZ = invX*z; sumYZ = invY*z; sumXX = invX*x; sumYY = invY*y; A = [n sumX sumY ; sumX sumXX sumXY ; sumY sumXY sumYY]; B = [sumZ ; sumXZ ; sumYZ]; invA = inv(A); C=invA*B; %Menampilkan persamaan regresi linear fprintf ('Persamaan regresi linear \n') fprintf('Z_est = %.2f + %.2fx + %.2fy \n',C(1),C(2),C(3)) %Nilai estimasi z fprintf('Nilai estimasi z adalah \n') SSE=0; fprintf('x=3 & y=16 ==> z_est(1)= %.2f\t\n',C(1)+C(2)*x(1)+C(3)*y(1)) fprintf('x=5 & y=10 ==> z_est(2)= %.2f\t\n',C(1)+C(2)*x(2)+C(3)*y(2)) fprintf('x=6 & y=7 ==> z_est(3)= %.2f\t\n',C(1)+C(2)*x(3)+C(3)*y(3)) fprintf('x=8 & y=4 ==> z_est(4)= %.2f\t\n',C(1)+C(2)*x(4)+C(3)*y(4)) fprintf('x=12 & y=3 ==> z_est(5)= %.2f\t\n',C(1)+C(2)*x(5)+C(3)*y(5)) fprintf('x=14 & y=2 ==> z_est(6)= %.2f\t',C(1)+C(2)*x(6)+C(3)*y(6)) for i=1:n z_est=C(1)+C(2)*x(i)+C(3)*y(i); err=(z(i)-z_est)^2; SSE=SSE+err; end %Nilai error estimasi MSE=SSE/n; fprintf('\nNilai Error Estimasi\n') fprintf('MSE = %.2f\n\n',MSE)

description

sd

Transcript of agung hm

Page 1: agung hm

Program Matlab.

Soal no 1.

clc;%Junmlah data yang digunakan semua variable (n)n=6;%Data dari variablex=[3;5;6;8;12;14];y=[16;10;7;4;3;2];z=[90;72;54;42;30;12]; %Operasi perkalian inversinvX = x';invY = y';sumX = sum(x);sumY = sum(y);sumZ = sum(z);sumXY = invX*y;sumXZ = invX*z;sumYZ = invY*z;sumXX = invX*x;sumYY = invY*y; A = [n sumX sumY ; sumX sumXX sumXY ; sumY sumXY sumYY];B = [sumZ ; sumXZ ; sumYZ]; invA = inv(A);C=invA*B; %Menampilkan persamaan regresi linear fprintf ('Persamaan regresi linear \n')fprintf('Z_est = %.2f + %.2fx + %.2fy \n',C(1),C(2),C(3)) %Nilai estimasi zfprintf('Nilai estimasi z adalah \n')SSE=0; fprintf('x=3 & y=16 ==> z_est(1)= %.2f\t\n',C(1)+C(2)*x(1)+C(3)*y(1))fprintf('x=5 & y=10 ==> z_est(2)= %.2f\t\n',C(1)+C(2)*x(2)+C(3)*y(2))fprintf('x=6 & y=7 ==> z_est(3)= %.2f\t\n',C(1)+C(2)*x(3)+C(3)*y(3))fprintf('x=8 & y=4 ==> z_est(4)= %.2f\t\n',C(1)+C(2)*x(4)+C(3)*y(4))fprintf('x=12 & y=3 ==> z_est(5)= %.2f\t\n',C(1)+C(2)*x(5)+C(3)*y(5))fprintf('x=14 & y=2 ==> z_est(6)= %.2f\t',C(1)+C(2)*x(6)+C(3)*y(6)) for i=1:nz_est=C(1)+C(2)*x(i)+C(3)*y(i);err=(z(i)-z_est)^2;SSE=SSE+err;end %Nilai error estimasiMSE=SSE/n;fprintf('\nNilai Error Estimasi\n')fprintf('MSE = %.2f\n\n',MSE)

Hasil Command :

Persamaan regresi linear Z_est = 61.40 + -3.65x + 2.54y Nilai estimasi z adalah x=3 & y=16 ==> z_est(1)= 91.08x=5 & y=10 ==> z_est(2)= 68.55

Page 2: agung hm

x=6 & y=7 ==> z_est(3)= 57.29x=8 & y=4 ==> z_est(4)= 42.38x=12 & y=3 ==> z_est(5)= 25.26x=14 & y=2 ==> z_est(6)= 15.43Nilai Error EstimasiMSE = 9.71

Soal no 2.

clc;clf;%ekponenfprintf ('>persamaan eksponensial< \n')fprintf ('d=e^(aV+b) \n')%junmlah data (n)n=6; v=[20 30 40 50 60 70];y=[54 90 138 206 297 396];lny=log(y)/log(exp(1)); sumV = sum(v);sumY = sum(lny);sumVY = v*lny';sumVV = v*v'; A =(n*sumVY-sumV*sumY)/(n*sumVV-sumV*sumV);B = (sumY/n)-(A*sumV/n); %persamaan regresi linear fprintf ('persamaan regresi nonlinear \n')fprintf('d = e^(%.2fV+%.2f) \n',A,B) %nilai estimasi z %fprintf('Nilai estimasi \n')SSE=0;mat=[ 0 0 0 0 0 0];for i=1:nd_est=exp(A*v(i)+B);%fprintf('%.2f\t',d_est)err=(y(i)-d_est)^2;SSE=SSE+err;mat(i)=d_est;end%nilai error estimasiMSE=SSE/n;fprintf('\nNilai Eror Estimasi\n')fprintf('MSE = %.2f\n\n',MSE) fprintf('\nv=45 ==> d=%.2f\n',exp(A*45+B))fprintf('\nv=80 ==> d=%.2f\n\n',exp(A*80+B)) %powerfprintf ('>persamaan power< \n')fprintf ('d=aV^b \n')

Page 3: agung hm

loV=log10(v);loy=log10(y); suV = sum(loV);suY = sum(loy);suVY = loV*loy';suVV = loV*loV'; A2 = [n suV ; suV suVV ];B2 = [suY ; suVY ]; invA = inv(A2); C=invA*B2;%persamaan regresi linearAn=10^C(1);fprintf ('persamaan regresi nonlinear \n')fprintf('d = %.2fV^%.2f \n ',An,C(2)) SSE2=0;mat2=[ 0 0 0 0 0 0];for i=1:nd_est2=An*(v(i))^C(2);err2=(y(i)-d_est2)^2;SSE2=SSE2+err2;mat2(i)=d_est2;end%nilai error estimasiMSE2=SSE2/n;fprintf('\nNilai Eror Estimasi\n')fprintf('MSE = %.2f\n\n',MSE2) fprintf('\nv=45 ==> d=%.2f\n',An*(45)^C(2))fprintf('\nv=80 ==> d=%.2f\n\n',An*(80)^C(2)) if (MSE > MSE2) fprintf('Pada soal ini yang digunakan adalah persamaan Power karena memiliki MSE yan lebih kecil yaitu %.2f\n\n',MSE2) fprintf('Nilai estimasi \n') display(mat2) plot(v,y) hold on grid on plot(v,mat2,'Color','red') xlabel('Kecepatan (V)') ylabel('Jarak (d)') title('Persamaan Power')else fprintf('Pada soal ini yang digunakan adalah persamaan Eksponensial karena memiliki MSE yan lebih kecil yaitu %.2f\n\n',MSE) fprintf('Nilai estimasi \n') display(mat2) plot(v,y) grid on hold on plot(v,mat,'Color','red') xlabel('Kecepatan (V)') ylabel('Jarak (d)') title('Persamaan Eksponensial')end

Page 4: agung hm

Hasil Command :

>persamaan eksponensial< d=e^(aV+b) persamaan regresi nonlinear d = e^(0.04V+3.28)

Nilai Eror EstimasiMSE = 250.42

v=45 ==> d=159.15

v=80 ==> d=641.81

>persamaan power< d=aV^b persamaan regresi nonlinear d = 0.41V^1.60 Nilai Eror EstimasiMSE = 184.76

v=45 ==> d=181.82

v=80 ==> d=456.60

Pada soal ini yang digunakan adalah persamaan Power karena memiliki MSE yan lebih kecil yaitu 184.76

Nilai estimasi

mat2 =

49.6618 95.0240 150.5849 215.2153 288.1325 368.7499

Page 5: agung hm

20 25 30 35 40 45 50 55 60 65 700

50

100

150

200

250

300

350

400

Kecepatan (V)

Jara

k (d

)Persamaan Power

Soal no 3.

clc;clf; n=6;V = [ 54.3 61.8 72.4 88.7 118.6 194 ];P = [61.2 49.5 37.6 28.4 19.2 10.1];q = log10(V);%fprintf('q = %.2f\n\n',q)A = log10(P);%fprintf('A = %.2f\n\n',A)sumAxq =A*q';%fprintf('A*q = %.2f\n\n',Axq)qq= q*q';%fprintf('q^2 = %.2f\n\n',qq) ss = [ n sum(q) ; sum(q) qq ];yy = [sum(A);sumAxq];fprintf('yy = %.2f\n\n',yy) %nilai P dan -bresult = inv(ss)*yy;%disp(result);fprintf('P = %.2f\n\n',result(1))fprintf('gamma = %.2f\n\n',result(2)*-1)%nilai dari CC=10^result(1);%persamaan fprintf('Persamaan : C = PV^gamma \n')fprintf('\t\t\t%.2f = PV^%.2f \n\n',C,result(2)*-1) %nilai P jika V=100fprintf('Nilai P jika V = 100 \n')fprintf('\t\tP = %.2f \n',C/(100^(result(2)*-1)))

Hasil Command :

yy = 8.80

yy = 16.85

Page 6: agung hm

P = 4.20

gamma = 1.40

Persamaan : C = PV^gamma 15971.81 = PV^1.40

Nilai P jika V = 100 P = 24.83