Você está na página 1de 10

NAMA

: ARIK AGUK WARDOYO

NIM

: PS-20213004
PRA S2 SAINTEK

TUGAS FISKOM
Soal dari buku Mary L. Boas Halaman 406 407
Chapter 8, Problems Section 4

1.

+ =

2
3

JAWAB :
1

Solusi eksak perasamaan tersebut adalah : = ( 3 + 3 )3 ; C = konstanta


Dengan kondisi awal (=0) = 1 , didapat konstanta C = 4. Sehingga dapat di tulis :
1

= ( 3 + 4 3 )3
Persamaan + =
=

2
3

2
3

dapat ditulis :

2
= 3

= (

2
3

+ = + (

Untuk membandingkan solusi metode Euler, Runge-kutta, dan eksak. Pada M-file dapat
ditulis:
% nomor1.m
% METODE EULER
dx=0.1;
x=0.0:dx:5.0;
y=zeros(size(x));
y(1)=1;
for ii=1:(length(x)-1)
y(ii+1)= y(ii)+dx*(x(ii).*y(ii)^(2/3)-y(ii));
end
plot(x,y,'--b'); hold on;
% Metode Runge-Kutta
clear
x=0.0:0.1:5.0;

del_x=0.1;
a=0.5; b=1-a;
alpha=0.5/b; beta=0.5/b;
n = length(x);
y = zeros(size(x));
y(1) = 1;
for ii=1:n-1
posisi=x(ii);
k_1=del_x*func1(x(ii),y(ii));
k_2=del_x*func1(x(ii)+alpha*del_x,y(ii)+beta*k_1);
y(ii+1) = y(ii)+a*k_1+b*k_2;
end
plot(x,y,'--r'); hold on
% eksak
eksak = (x-3+4*exp(-x./3)).^3;
plot(x,eksak,'-.g'); grid on
title('Perbandingan Solusi Metode Euler, Runge-Kutta, dan Eksak');
xlabel('sumbu x'); ylabel('sumbu y');
legend('garis Euler','garis Runge-Kutta','garis eksak',2);

Dengan fungsi pada runge-kutta:


function [nilai]=func1(x,y)
nilai=x.*y^(2/3)-y;

Program tersebut saat di run hasilnya :

2.

+ = 2

3 1
2 2

JAWAB :
1

Solusi eksak perasamaan tersebut adalah : = (3 52 + 12 )2 ; C = konstanta


Dengan kondisi awal (=1) = 1 , didapat konstanta = 23. Sehingga dapat di tulis :
1
2
= ( 52 + 12 )2
3
3
Persamaan + =

2
3

dapat ditulis :

1
3
1
= 2 2 2

1
3
1
= (2 2 2 )

= 2

3 1
2 2

+ = + (

Untuk membandingkan solusi metode Euler, Runge-kutta, dan eksak. Pada M-file dapat ditulis:
% nomor2.m
% METODE EULER
dx=0.1;
x=1.0:dx:6.0;
y=zeros(size(x));
y(1)=1;
for ii=1:(length(x)-1)
y(ii+1)= y(ii)+dx*((2*x(ii).^(3/2).*y(ii).^(1/2))-y(ii)./x(ii));
end
plot(x,y,'--b'); hold on;
% Metode Runge-Kutta
clear
x=1.0:0.1:6.0;
del_x=0.1;
a=0.5; b=1-a;
alpha=0.5/b; beta=0.5/b;
n=length(x);
y=zeros(size(x));
y(1)=1;
for ii=1:n-1
posisi=x(ii);
k_1=del_x*func2(x(ii),y(ii));
k_2=del_x*func2(x(ii)+alpha*del_x,y(ii)+beta*k_1);
y(ii+1) = y(ii)+a*k_1+b*k_2;
end
plot(x,y,'--r'); hold on
% eksak

eksak = ((1/3)*x.^(5/2)+(2/3)*x.^(-1/2)).^2;
plot(x,eksak,'-.g'); grid on
title('Perbandingan Solusi Metode Euler, Runge-Kutta, dan Eksak');
xlabel('sumbu x'); ylabel('sumbu y');
legend('garis Euler','garis Runge-Kutta','garis eksak',2);

Dengan fungsi pada runge-kutta:


function [nilai]=func2(x,y)
nilai=(2*x.^(3/2).*y.^(1/2))-y./x;

Program tersebut saat di run hasilnya :

3.

3 2 + 3 3 = 1

JAWAB :
1

Solusi eksak perasamaan tersebut adalah : = (3 + 3 )13 ; C = konstanta


Dengan kondisi awal (=1) = 1 , didapat konstanta = 23. Sehingga dapat di tulis :
1 2 3 13
=( + )
3 3
Persamaan 3 2 + 3 3 = 1 dapat ditulis :
= (1 3 3 )/3 2

= (1 3 3 )/3 2

= ((1 3 3 )/3 2 )
+ = + (( )/ )
Untuk membandingkan solusi metode Euler, Runge-kutta, dan eksak. Pada M-file dapat ditulis:
% nomor3.m
% METODE EULER
dx=0.1;
x=1.0:dx:6.0;
y=zeros(size(x));
y(1)=1;
for ii=1:(length(x)-1)
y(ii+1)= y(ii)+dx*((1-3*y(ii).^3)./3*x(ii).*y(ii).^2);
end
plot(x,y,'--b'); hold on;
% Metode Runge-Kutta
clear
x=1.0:0.1:6.0;
del_x=0.1;
a=0.5; b=1-a;
alpha=0.5/b; beta=0.5/b;
n=length(x);
y=zeros(size(x));
y(1)=1;
for ii=1:n-1
posisi=x(ii);
k_1=del_x*func3(x(ii),y(ii));
k_2=del_x*func3(x(ii)+alpha*del_x,y(ii)+beta*k_1);
y(ii+1) = y(ii)+a*k_1+b*k_2;
end
plot(x,y,'--r'); hold on
% eksak
eksak = ((1/3)+(2/3).*x.^-3).^(1/3);
plot(x,eksak,'-.g'); grid on
title('Perbandingan Solusi Metode Euler, Runge-Kutta, dan Eksak');

xlabel('sumbu x'); ylabel('sumbu y');


legend('garis Euler','garis Runge-Kutta','garis eksak',2);

Dengan fungsi pada runge-kutta:


function [nilai]=func3(x,y)
nilai=(1-3*y.^3)./3*x.*y.^2;

Program tersebut saat di run hasilnya :

4.

2 + ( 2 ) = 0

JAWAB :
Solusi eksak perasamaan tersebut adalah : = /(ln + ) ; C = konstanta
Dengan kondisi awal (=1) = 1 , didapat konstanta = 1. Sehingga dapat di tulis :
= /(ln + 1)
Persamaan 2 + ( 2 ) = 0 dapat ditulis :
2 = ( 2 )

= ( 2 + )/ 2

= (( 2 + )/ 2 )
+ = + (( + )/ )
Untuk membandingkan solusi metode Euler, Runge-kutta, dan eksak. Pada M-file dapat ditulis:
% nomor4.m
% METODE EULER
dx=0.1;
x=1.0:dx:6.0;
y=zeros(size(x));
y(1)=1;
for ii=1:(length(x)-1)
y(ii+1)= y(ii)+dx*((-y(ii).^2+x(ii).*y(ii))/x(ii).^2);
end
plot(x,y,'--b'); hold on;
% Metode Runge-Kutta
clear
x=1.0:0.1:6.0;
del_x=0.1;
a=0.5; b=1-a;
alpha=0.5/b; beta=0.5/b;
n=length(x);
y=zeros(size(x));
y(1)=1;
for ii=1:n-1
posisi=x(ii);
k_1=del_x*func4(x(ii),y(ii));
k_2=del_x*func4(x(ii)+alpha*del_x,y(ii)+beta*k_1);
y(ii+1) = y(ii)+a*k_1+b*k_2;
end
plot(x,y,'--r'); hold on
% eksak
eksak = x./(log(x)+1);
plot(x,eksak,'-.g'); grid on
title('Perbandingan Solusi Metode Euler, Runge-Kutta, dan Eksak');
xlabel('sumbu x'); ylabel('sumbu y');
legend('garis Euler','garis Runge-Kutta','garis eksak',2);

Dengan fungsi pada runge-kutta:


function [nilai]=func4(x,y)
nilai=(-y.^2+x.*y)/x.^2;

Program tersebut saat di run hasilnya :

5.

= ( + 2 + 2 )

JAWAB :
Solusi eksak perasamaan tersebut adalah : = (2 + 2 )12 ; C = konstanta
Dengan kondisi awal (=1) = 1 , didapat konstanta 12 = 1 2. Ambil salah satu
konstantanya 1 = 1 + 2. Sehingga solusi eksak dapat di tulis:
= (2(1 + 2) + (1 + 2)2 )12
Persamaan = ( + 2 + 2 ), dapat ditulis :
= (

+ 2 + 2
)

+ = + (

+ +
)

Untuk membandingkan solusi metode Euler, Runge-kutta, dan eksak. Pada M-file dapat ditulis:
% nomor5.m
% METODE EULER
dx=0.1;
x=1.0:dx:6.0;
y=zeros(size(x));
y(1)=1;
for ii=1:(length(x)-1)
y(ii+1)= y(ii)+dx*((-x(ii)+(x(ii).^2+y(ii).^2).^0.5)./y(ii));
end
plot(x,y,'--b'); hold on;
% Metode Runge-Kutta
clear
x=1.0:0.1:6.0;
del_x=0.1;
a=0.5; b=1-a;
alpha=0.5/b; beta=0.5/b;
n=length(x);
y=zeros(size(x));
y(1)=1;
for ii=1:n-1
posisi=x(ii);
k_1=del_x*func5(x(ii),y(ii));
k_2=del_x*func5(x(ii)+alpha*del_x,y(ii)+beta*k_1);
y(ii+1) = y(ii)+a*k_1+b*k_2;
end
plot(x,y,'--r'); hold on
% eksak
eksak = ((-2+2*sqrt(2)).*x+(-1+sqrt(2))^2).^0.5;
plot(x,eksak,'-.g'); grid on
title('Perbandingan Solusi Metode Euler, Runge-Kutta, dan Eksak');

xlabel('sumbu x'); ylabel('sumbu y');


legend('garis Euler','garis Runge-Kutta','garis eksak',2);

Dengan fungsi pada runge-kutta:


function [nilai]=func5(x,y)
nilai=(-x+(x.^2+y.^2).^0.5)./y;

Program tersebut saat di run hasilnya :

Você também pode gostar