%metoda Trapesium %metoda Simpson %metoda Posisi Palsu %metoda Iterasi Jakobi
%metoda Trapesium %metoda Simpson %metoda Posisi Palsu %metoda Iterasi Jakobi
clc;
x1=input('masukkan nilai batas bawah
x1=');
x2=input('masukkan nilai batas bawah
x2=');
i=0;
d=50;
for i= 1 :20
i= i+1;
t(i)=0;
x=x1;
p=2^(i-1);
dx=(x2-x1)/p;
while x<x2
fx=12471/x;
if x==1|x==x2;
t(i)=t(i)+fx;
else
t(i)=t(i)+2*fx;
end;
x=x+dx;
end;
t(i)=t(i)*(dx/2);
if i==1
fprintf('p=%d,t(i)=%d\n',p,t(i));
else
d=t(i)-t(i-1);
fprintf('p=%g,t(i)=%g,d=%g\n',p,t(i),d);
end;
fprintf('t(i)=%g\n',t(i));
end;
%metoda simpson
clc;
x1=input('masukkan nilai batas bawah
x1=');
x2=input('masukkan nilai batas atas
x2=');
i=0; d=50;
for i= 1:20
i=i+1; j=0; s(i)=0;
x=x1;
p=2^(i-1);
dx=(x2-x1)/p;
while x<x2
fx=12471/x;
j=j+1;
if x==x1|x==x2
s(i)=s(i)+fx;
else
if
((x>x1)&(x<x2)&(rem(j,2)==0))
s(i)=s(i)+(4*fx);
else
if
((x>x1)&(x<x2)&(rem(j,2)==1))
s(i)=s(i)+(2*fx);
end;
end;
end;
x=x+dx;
end;
s(i)=s(i)*(dx/3);
if i==1
fprintf('p=%g,t(i)=%g\n',p,t(i));
else
d=s(i)-s(i-1);
fprintf('p=%g,s(i)=%g,d=
%g\n',p,s(i),d);
end;
fprintf('s(i)=%g\n',s(i));
end;
%runekuttA orde 2
clc;
z=input('z=');
y=input('y=');
n=input('n=');
b=10;
k=100;
m=0.5;
step=0;
h=0.001;
bm=b/m;
km=k/m;
disp('t
y');
for i=1:n
for kount=1:50
step=step+1;
t=h*step;
k1=h*z;
l1=-h*(bm*z+km*y);
k2=h*(z+l1);
l2=-h*(bm*(z+l1)+km*(y+k1));
y=y+(k1+k2)/2;
z=z+(l1+l2)/2;
end;
fprintf('%6.5f %15.10f\n',t,y);
end;
%akar polinom
clc
n=input('n');
imax=input('imax');
for j=n+1:-1:1
a(j)=input('a(j)');end;
x(n)=0;
b(imax)=0;
x(1)=input('x(1)');
for i=1:imax;
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n+1:-1:1;
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j =n:-1:1;
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('akar=%d\n',akar);
h=h/10;
end;
fprintf('dx=%d\n',dx);
%akar ganda
tlm=input('tlm');
h=int/js;
tb=0;
hh=h/2;
for i= 1:jp
fprintf('%y(i)=%g\n',y(i));
fprintf('h=%g,tb=%g\n',h,tb);
end;
for n=1:jp
tl=tb;
tb=tb+h;
tt=tl+hh;
for i=1:jp
ya(i)=y(i)
end;
k(1)=y(2)*h;
b=input('batas bawah');
%fungsinya fx=x*x-6*x+5;
while abs (a-b)> del;
x=(a+b)/2;
fa=a*a-6*a+5;
fb=b*b-6*b+5;
fx=x*x-6*x+5;
if fa*fx <0
b=x;
else
a=x;
end;
akar=x;
fprintf('akar=%g,del=%g\n',akar,del);
end;
for i=1:jp
ya(1)=y(i)+(k(1)/2);
end;
k(2)=-y(1)*h;
for i=1:jp
ya(2)=y(i)+(k(2)/2);
end;
k(3)=y(2)*tt*h;
for i=1:jp
ya(3)=y(i)+k(3);
end;
k(4)=y(1)*tb*h;
for i= 1:jp
y(i)=y(i)+(k(1)+(2*k(2))
+(2*k(3))+k(4))/6;
end;
end;
fprintf('y(i)=%g\n',y(i));
end;
%metoda simpson
clc;
x1=input('x1');
x2=input('x2');
i=0; d=50;
for i= 1:20
i=i+1; j=0; s(i)=0;
x=x1;
p=2^(i-1);
dx=(x2-x1)/p;
while x<x2
fx=pi*((1+((x/2))^2)^2);
j=j+1;
if x==x1|x==x2
s(i)=s(i)+fx;
else
if
((x>x1)&(x<x2)&(rem(j,2)==0))
s(i)=s(i)+(4*fx);
else
if
((x>x1)&(x<x2)&(rem(j,2)==1))
s(i)=s(i)+(2*fx);
end;
end;
end;
x=x+dx;
end;
s(i)=s(i)*(dx/3);
if i==1
fprintf('p=%g,t(i)=%g\n',p,t(i));
else
d=s(i)-s(i-1);
fprintf('p=%g,s(i)=%g,d=
%g\n',p,s(i),d);
end;
fprintf('s(i)=%g\n',s(i));
e
a(4)=input('p');
a(3)=-((a(4)*0.03183)+(0.082054*300));
a(2)=1.36;
a(1)=-1.360*0.03183;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m=n+1:-1:2
for i=1:imax
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j=n:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('%d\n',akar);
z=x(j);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
%simson 1/3
clc;
m=input('jumlah interval integral I');
n=input('jumlah interval integral II');
a=input('a');
b=input('b');
hx=(b-a)/m;
t=0;
for i=0:m
x=a+i*hx;
c=log(x);
d=3+exp(x/5);
hy=(d-c)/n;
s=0;
for j=0:n
y=c+j*hy;
f=sin(x+y);
if rem(j,2)==1
w=4;
end;
if rem(j,2)==0
w=2;
end;
if j==0|j==n
w=1;
end;
s=s+w*f;
end;
s=s*hy/3;
if rem(i,2)==1
w=4;
end;
if rem(i,2)==0
w=2;
end;
if i==0|i==n
w=1;
end;
fprintf('i=%g,s=%g,w=
clc
n=input('orde');
imax=input('imax');
for j=n+1:-1:1
a(j)=input('a(j)');
end;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m=n:-1:1
for i=1:imax
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j=n:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('%d\n',akar);
z=x(j);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
%simson 3/8
clc;
m=input('jumlah interval integral I');
n=input('jumlah interval integral II');
a=input('a');
b=input('b');
hx=(b-a)/m;
t=0;
for i=0:m
x=a+i*hx;
c=log(x);
d=3+exp(x/5);
hy=(d-c)/n;
s=0;
for j=0:n
y=c+j*hy;
f=sin(x+y);
if (j==1|j~=4|j~=8|j~=12) w=3; end
if (j==4|j==8|j==12) w=2;end
if (j==0|j==n) w=1;end
s=s+w*f;
end
s=3*s*hy/8;
if (i==1|i~=4|i~=8|i~=12) w=3;
if (i==4|i==8|i==12) w=2;end
if (i==0|i==n) w=1; end;
end
fprintf('i=%g,s=%g,w=%g',i,s,w);
t=t+w*s;
end
t=3*t*hx/8;
fprintf('t=%g\n',t);
%g\n',i,s,w);
t=t+w*s;
end;
t=t*hx/3;
fprintf('t=%g\n',t);
%metoda euler
clc
x1=input('x1');
x2=input('x2');
y1=input('y1');
n=0;
d=10; eps=0.01;
while abs(d)>=eps
n=n+1;
p=2^n;
dx=(x2-x1)/p;
x=x1; y=y1;
while x<x2
fx=x;
y=y+fx*dx;
x=x+dx;
end;
if n==1
fprintf('p=%g,y=%g\n',p,y);
else
d=y-y2;
fprintf('p=%g,y=%g,d=%g\n',p,y,d);
end;
y2=y;
end;
fprintf('x2=%g,y=%g\n',x2,y);
%runekuttA orde 2
clc;
z=input('z=');
y=input('y=');
n=input('n=');
b=10;
k=100;
m=0.5;
step=0;
h=0.001;
bm=b/m;
km=k/m;
disp('t
y');
for i=1:n
for kount=1:50
step=step+1;
t=h*step;
k1=h*z;
l1=-h*(bm*z+km*y);
k2=h*(z+l1);
l2=-h*(bm*(z+l1)+km*(y+k1));
y=y+(k1+k2)/2;
z=z+(l1+l2)/2;
end;
fprintf('%6.5f %15.10f\n',t,y);
end;
x=y+h;
else
x=y-h;
end;
fx=x*x+2*x;
z(i)=fx;
end;
dx=(z(1)-z(2))/(2*h);
d=zz-dx;
fprintf('h=%g,dx=%g,d=%g\n'
zz=dx;
h=h/10;
end;
fprintf('dx=%d\n',dx);
%akar ganda
clc
n=input('orde');
imax=input('imax');
for j= n+1:-1:1
a(j)=input('a(j)');
end;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m= n:1;
for i =1:imax;
j=j+1;
z=x*(j-1);
b(n+1)=a(n+1);
for j =n+1:-1:1;
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j= n+1:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
fprintf('akar=%d\n',akar);
end;
z=x(j);
b(n+1)=a(n+1);
for j= n:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
%akar polinom
clc
n=input('n');
imax=input('imax');
for j=n+1:-1:1
a(j)=input('a(j)');
end;
x(n)=0;
b(imax)=0;
x(1)=input('x(1)');
for i=1:imax;
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n+1:-1:1;
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j =n:-1:1;
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('akar=%d\n',akar);
ya(1)=y(i)+(k(1)/2);
end;
k(2)=-y(1)*h;
for i=1:jp
ya(2)=y(i)+(k(2)/2);
end;
k(3)=y(2)*tt*h;
for i=1:jp
ya(3)=y(i)+k(3);
end;
k(4)=y(1)*tb*h;
for i= 1:jp
y(i)=y(i)+(k(1)+(2*k(2))
+(2*k(3))+k(4))/6;
end;
end;
fprintf('y(i)=%g\n',y(i));
end;
for i=1:jp
%akar ganda
clc
n=input('orde');
imax=input('imax');
for j=n+1:-1:1
a(j)=input('a(j)');
end;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m=n:-1:1
for i=1:imax
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j=n:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('%d\n',akar);
z=x(j);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
a(3)=((a(4)*0.03183)+(0.082054*300));
a(2)=1.36;
a(1)=-1.360*0.03183;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m=n+1:-1:2
for i=1:imax
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j=n:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('%d\n',akar);
z=x(j);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
for i=1:n
for j=1:n
a(i,j)=input('a=');
end;
end;
for i=1:n
b(i)=input('b=');
end;
for i = 1:n;
for j= 1:n;
g(i,1)=a(i,1)
end;
end;
for i =1:n;
g(j,n+1)=b(j)
end;
for i=1:n;
for j=(i+1):n
pem=g(j,j)/g(i,i)
for k=i:(n+1);
g(j,k)=g(j,k)-pem*g(i,k)
end;
end;
end;
x(n)=g(n,n+1)/g(n,n)
for i=n-1:1;
cad=g(i,n+1)
for j= (i+1):n
cad=cad-g(i,j)*x(n)
x(i)=cad/g(i,j)
end;
end;
fprintf('x(n)=%g,x(i)=%g\n,',x(n),x(i));
((a(4)*0.03183)+(0.082054*300
a(2)=1.36;
a(1)=-1.360*0.03183;
x(1)=input('x(1)');
x(n)=0;
b(imax)=0;
for m=n+1:-1:2
for i=1:imax
j=j+1;
z=x(j-1);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
fz=b(1);
c(n+1)=b(n+1);
for j=n:-1:1
c(j)=b(j)+z*c(j+1);
end;
dz=c(2);
x(j)=z-fz/dz;
akar=x(j);
end;
fprintf('%d\n',akar);
z=x(j);
b(n+1)=a(n+1);
for j=n:-1:1
b(j)=a(j)+z*b(j+1);
end;
for i=n+1:-1:1
a(i)=b(i+1);
end;
end;
Metode ini diperoleh dari ekspansi deret Taylor di sekitar x. Andaikan pada
awalnya diberikan nilai x1 sehingga terjadi simpangan h = (x1 - x) dari akar yang
dicari, maka nilai x dapat ditulis sebagai : x = x1-h.
Ekspansi deret Taylor di sekitar x memberikan :
)
(pers 8)
Atau
(pers 9)
dengan (
Karena
Jadi
dan i=0,1,2,3,.
(pers 12)
Newton-
dari
metode
ini
adalah
hanya
membutuhkan satu nilai coba awal dibandingkan pada metode bagi dua
yang membutuhkan dua nilai coba yang harus mengapit akar yang dicari.
Akan tetapi metode ini juga memiliki kelemahan, yaitu membutuhkan informasi
turunan pertama fungsi I(x). Hal ini akan menjadi masalah jika fungsi terlalu
kompleks sehingga turunan pertama fungsi tersebut sulit dicari.