NIM : 1957301020
Kelas : TI 2C
MK : Metode Numerik
1. Soal A
Anda harus membuat soal beserta penyelesaiannya untuk pembahasan :
1. Metode Bisection
Mencari akar persamaan pada bagi dua pada fungsi :
f(x) = 2 / (x – 3)
Program Matlab :
%Nama File Bisection.m
clear;
clc;
galat = 0.001;
bawah = input('Batas Bawah : ');
atas = input ('Batas Atas : ');
nilai = 1;
no = 0;
m0 = bawah;
clc;
fprintf('Taksiran batas bawah : %5.3f\n', bawah);
fprintf('Taksiran batas atas : %5.3f\n', atas);
fprintf('==============================================\n');
fprintf('Iterasi (bawah+atas)/2 Galat Interval \n');
fprintf('==============================================\n');
while nilai> galat
no = no +1;
fbawah = feval('fbi',bawah);
m=(bawah+atas)/2;
ftengah = feval('fbi',m);
if fbawah*ftengah==0
disp('m adalah akarnya');
elseif fbawah*ftengah<0
atas=m;
else
bawah=m;
end
nilai = abs(m0-m);
fprintf (' %3d %8.5f %8.5f [%8.5f ; %8.5f]\n', no, m, nilai, bawah,
atas);
m0=m;
end
fprintf('==============================================\n');
fprintf('Pada Iterasi ke-%1d, Selisih Interval < %5.3f\n',no, galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', m);
Perhitungan Manual :
Dengan Persamaan f(x) = 2 / (x – 3) sebagai berikut :
X1 = 1
X2 = 1.2
F(a) = 2/(x-3) = 2 / (1 – 3) = -1
F(b) = 2/(x-3) = 2 / (1.2 – 3) = -0.3
F(a).F(b) = -1 * 0.3
= 0.3
Maka disekitar X1 = 1 dan X2 = 1.2 terdapat titik penyelesaiannya.
Iterasi 1 :
= (1 + 1.2) / 2 = 1.1
= 2 / (1.1 – 3) = -0.95
Jadi, interval adalah [1.1, 1.2]
Iterasi 2 :
= (1.1 + 1.2) / 2 = 1.15
= 2 / (1.15 – 3) = -0.925
Jadi, interval adalah [1.15, 1.2]
Iterasi 3 :
= (1.15 + 1.2) / 2 = 1.175
= 2 / (1.75 – 3) = -0.9125
Jadi, interval adalah [1.75, 1.2]
Iterasi 4 :
= (1.175 + 1.2) / 2 = 1.1875
= 2 / (1.1875 – 3) = -0.906
Jadi, interval adalah [1.1875, 1.2]
Iterasi 5 :
= (1.1875 + 1.2) / 2 = 1.19375
= 2 / (1.19375 – 3) = -0.903
Jadi, interval adalah [1.19375, 1.2]
Iterasi 6 :
= (1.19375 + 1.2) / 2 = 1.19687
= 2 / (1.19687 – 3) = -0.901
Jadi, interval adalah [1.19687, 1.2]
Iterasi 7 :
= (1.19687 + 1.2) / 2 = 1.19844
= 2 / (1.19844 – 3) = -0.9007
Jadi, interval adalah [1.19844, 1.2]
Iterasi 8 :
= (1.19844 + 1.2) / 2 = 1.19922
= 2 / (1.19922 – 3) = -0.9003
Jadi, interval adalah [1.19922, 1.2]
2. Metode Regula Falsi
Mencari akar dari persamaan :
f(x) = x2+3-x
Program Matlab :
%Nama Program Regula.m
clear;
clc;
x1=input('Batas bawah =');
x2=input ('Batas atas = ');
error=0.001;
w0=0;
banding=1;
clc;
k=0;
clc;
disp('Perhitungan akar persamaan dengan Regulasi False');
fprintf('Rentang awal [%5.4f %5.4f]\n',x1, x2 );
fprintf('Besarnya Error %7.5f\n\n', error);
disp('========================================');
disp ('Iterasi Nilai_Akar error Interval');
disp('========================================');
while banding>=error
k=k+1;
f1= feval('bpalsu', x1);
f2= feval('bpalsu', x2);
w= ((x1*f2)-(x2*f1))/(f2-f1);
f3=feval('bpalsu',w);
if f1*f3 ==0
disp('adalah akarnya')
elseif f1*f3<0
x2=w;
else
x1=w; f1=f3;
end
banding = abs (w0-w);
fprintf('%2d %6.4f %5.4f [%6.4f; %6.4f]\n', k, w,
banding,x1,x2);
w0=w;
end
disp('========================================');
fprintf('Nilai akar = %5.4f\n', w);
if x1<x2
x=x1:0.1:x2;
u=x.^3-x+2;
plot(u,x)
else
x=x2:0.1:x1;
u=x.^3-x+2;
plot(u,x)
end
grid on
Program Bpalsu :
%nama fungsi bpalsu.m
function [y]=f(x)
y=x.^3-x+2;
Hasil :
Perhitungan Manual :
Dengan persamaan : f(x)= x3 –5x + 4.
Diketahui nilai batas bawah = a, dan batas atas = b yang diinputkan adalah :
a = -2
b=4
Iterasi 1 :
f(a) = (−2)3−5∗(−2 ) +4=¿
Iterasi 3 :
a = -1.5191
b = -1.6667
Iterasi 4 :
a = -1.5211
b = -1.6667
dengan nilai x = 3.
Program Matlab :
%Nama File newton.m
clear;
clc;
galat = 1.e-5;
x = input('Masukkan nilai x : ');
nilai = 1;
no = 0;
fx=x^3-2*x^2;
fx1=3*x^2-4*x;
xn1=x-fx/fx1;
clc;
fprintf('Masukkan nilai x : %5.3f\n', x);
fprintf('==============================================\n');
fprintf(' I x fx fx1 akar\n');
fprintf('==============================================\n');
while nilai> galat
x=xn1;
no = no +1;
fx=x^3-2*x^2;
fx1=3*x^2-4*x;
xn1=x-fx/fx1;
nilai = abs((xn1-x)/xn1);
fprintf (' %3d %8.5f %8.5f %8.5f %8.5f\n', no, x, fx, fx1,xn1);
end
fprintf('==============================================\n');
fprintf('Pada Iterasi ke-%1d, Selisih Interval < %5.3f\n',no,galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', xn1);
Hasil :
Perhitungan Manual :
Dengan persamaan :
f(x) = x3-2x2
f1(x) = 3x2-4x
x = 3.
Iterasi 0 :
Nilai x yang ditunjukkan adalah 3, sehingga perhitungan akar menjadi :
X=3
F(x) = (3)3 - 2(3)2 = 9
F’(x) = 3(3)2 – 4(3) = 15
9
x=3− =2.4
15
Iterasi 1 :
X = 2.4
F(x) = (2.4)3 - 2(2.4)2 = 2.304
F’(x) = 3(2.4)2 – 4(2.4) = 7.68
2.304
x=2.4− =2.1
7.68
Iterasi 2 :
X = 2.1
F(x) = (2.1)3 - 2(2.1)2 = 0.441
F’(x) = 3(2.1)2 – 4(2.1) = 4.83
0.441
x=2.1− =2.00870
4.83
Iterasi 3 :
X = 2.00870
F(x) = (2.00870)3 - 2(2.00870)2 = 0.035
F’(x) = 3(2.00870)2 – 4(2.00870) = 4.06979
0.035
x=2.00870− =2.00007
4.06979
Iterasi 4 :
X = 2.00007
F(x) = (2.00007)3 - 2(2.00007)2 = 0.00030
F’(x) = 3(2.00007)2 – 4(2.00007) = 4.00060
0.00030
x=2.00870− =2
4.00060
Iterasi 5 :
X=2
F(x) = (2)3 - 2(2)2 = 0
F’(x) = 3(2)2 – 4(2) = 4
0
x=2− =2
4
Maka, akar persamaannya adalah 2.
4. Metode Secant
Mencari persamaan dengan menggunakan fungsi :
f(x) = x2 – 3x
batas bawah = 1
batas atas = 4
Program Matlab :
%Nama Program tugas secant.m
clear;
clc;
x1=input('Taksiran Batas bawah = ');
x2=input ('Taksiran Batas atas = ');
banding=1;
k=0;
error=0.1;
w0=0;
disp('=========================================================');
disp ('Iterasi (bawah+atas)/2 Galat Interval');
disp('=========================================================');
while banding>=error
k=k+1;
f1= feval('fbs', x1);
f2= feval('fbs', x2);
w=[(x1*f2-x2*f1)]/(f2-f1);
f3=feval('fbs',w);
if f1*f3 ==0
disp('w adalah akarnya')
elseif f1*f3<1
x2=w;
else
x1=w; f1=f3;
end
fprintf('%2d %6.5f %5.5f [%6.5f;
%6.5f]\n', k, w, banding,x1,x2);
banding = abs(w0-w);
w0=w;
end
disp('=========================================================');
fprintf('Pada Iterasi ke-%1d,Selisih Interval < %5.3f\n',k,error);
fprintf('Jadi akar persamaannya adalah %7.5f\n',w);
if x1<x2
x=x1:0.1:x2;
u=x.^2-3*x;
plot(u,x)
else
x=x2:0.1:x1
u=x.^2-3*x;
plot(u,x)
end
grid on
Fungsi fbs
%Nama fungsi fbs.m
function [y]=f(x)
y=x^2-3*x;
Hasil :
Perhitungan Manual :
Dengan persamaan f(x) = x2 – 3x.
Batas bawah = 1
Batas atas =4
Iterasi 1 :
x1 =1
x2 =4
f(x1) = (1)2 – 3(1) = -2
f(x2) = (4)2 – 3(4) = 4
f ( xn )( x n−x n−1) ( 4 ) (4−1)
x n+1 = x n− x3 = 4- =2
f ( xn ) −f (x n−1 ) 4−(−2)
F(2) = (2)2 – 3(2) = -2
Iterasi 2 :
x1 =2
x2 =4
( 4 ) (4−2)
x3 =4- =¿2.6
4−(−2)
F(2.6) = (2.6)2 – 3(2.6) = -1.04
Iterasi 3 :
x1 = 2.6
x2 =4
( 4 )( 4−2.6)
x3 =4- =¿2.8
4−(−1.04)
F(2.8) = (2.8)2 – 3(2.8) = -0.56
Iterasi 4 :
x1 = 2.8
x2 =4
( 4 )( 4−2.8)
x3 =4- =¿2.97
4−(−0.56)
F(2.97)= (2.97)2 – 3(2.97) = -0.09
Iterasi 5 :
x1 = 2.97
x2 =4
( 4 ) (4−2.97)
x3 =4- =¿2.95
4−(0.09)
F(2.95)= (2.95)2 – 3(2.95) = -0.14
2. Soal B