Tampilkan postingan dengan label modul praktikum analisis numerik. Tampilkan semua postingan
Tampilkan postingan dengan label modul praktikum analisis numerik. Tampilkan semua postingan

Jumat, 14 Agustus 2015

Modul praktikum analisi numerik dengan menggunakan matlab Penyelesaian Sistem Persamaan Linier



1.    Penyelesaian Sistem Persamaan Linier
A.    Jacobi
clc,clear
A=input('masukkan matriks berordo 3x3 = ')
B=input('masukkan matriks berordo 3x1 = ')
[a b]=size(B)

if a==1
    B=B'
else
    B
end

exp=0.00001
x0=input('masukkan nilai awal pencarian dalam matriks 3x1 = ')

x(1,1)=x0(1); x(1,2)=x0(2);x(1,3)=x0(3); nr(1)=norm(A*x'-B);
i=1;

while nr(i)>exp
    i=i+1
    x(i,1)=(B(1)-A(1,2)*x(i-1,2)-A(1,3)*x(i-1,3))/A(1,1)
    x(i,2)=(B(2)-A(2,1)*x(i-1,1)-A(2,3)*x(i-1,3))/A(2,2)
    x(i,3)=(B(3)-A(3,1)*x(i-1,1)-A(3,2)*x(i-1,2))/A(3,3)
    nr(i)=norm(A*x(i,:)'-B)
end

disp('Hasil komputasi :')
disp('iterasi   x    y    z    Norm Residu')
disp([[1:i]'  x    nr'])

disp('dengan residu B-Ax = '); disp(B-A*x(i,:)')
disp(['norm residu ||B-Ax||=', num2str(nr(i))])
disp('subtitusi solusi Ax='); disp(A*x(i,:)')

%a=[3 1 -1;4 7 -3;2 -2 5]
%b=[5 20 10]
%nilai_awal=[0 0 0]
2.    Interpolasi
A.    Lagrange
clc,clear
n=input('banyak data = ');
dcr=input('data yang dicari = ');
disp ==============================================
for i=1:n
    data=i;data
    x(i)=input('masukkan nilai Xn,          Xn= ');
    y(i)=input('masukkan nilai f(Xn),   f(Xn)= ');
    disp ==============================================
end
L=0;
for i=1:n
    pii=1;
    for j=1:n
        if i ~= j
            pii=pii*((dcr-x(j))/(x(i)-x(j)));
        end
    end
    L=L+y(i)*pii;
end
Dengan_interpolasi_Lagrange_didaatkan_Y=L; Dengan_interpolasi_Lagrange_didaatkan_Y
3.    Integral
A.    Integral Traesium
clc,clear
f=inline('3','x')
xa=1;  xb=4;
banyak_x=6; %harus ganjil kelipatan 3
x=linspace(xa,xb,banyak_x);
h=x(2)-x(1)

L=0;
for i=1:banyak_x-1
    L=L+((h/2)*(f(x(i))+f(x(i+1))))
end
B.     Integral Simson
clc,clear
f=inline('3','x')
xa=0; xb=3;
banyak_x=9            % Harus Ganjil > 1
x=linspace(xa,xb,banyak_x);

h=x(2)-x(1)
L=0;
for i=1:2:banyak_x-2
    L=L+((h/3)*(f(x(i))+4*f(x(i+1))+f(x(i+2))))
end
C.     Integral Simson
clc,clear
f=inline('3','x')
xa=0;  xb=3;

banyak_x=900            % Harus Ganjil kelipatan 3
x=linspace(xa,xb,banyak_x);

h=x(2)-x(1)
L=0;
for i=1:3:banyak_x-3
    L=L+((3*h/8)*(f(x(i))+3*(f(x(i+1))+f(x(i+2)))+f(x(i+3))))
end
4.    Persamaan Differensial Biasa
A.    Metode Euler
clc, clear
f=inline('2*x^2','x')   %dalam interval [0,3] jarak = 0.1
format long
x0=0;xn=3;h=0.1;

x=x0:h:xn;
size=size(x);
size=size(1,2);

x(1)=0;y(1)=1;

for i=1:size-1
    y(i+1)=y(i)+ h*f(x(i));
end
plot(x,y)
B.     Metode Runge Kutta Orde-4
clc,clear
f=inline('sin(x*y)+cos(x+y)','x','y')           %dalam interval [0,3], h=0.1
format  long
x0=0;xn=3;
h=0.01;

x=x0:h:xn;size=size(x);size=size(1,2);

x(1)=0;
y(1)=1;

for i=1:size-1
    k1=h*f(x(i),y(i));          
    k2=h*f(x(i)+h/2,y(i)+k1/2); 
    k3=h*f(x(i)+h/2,y(i)+k2/2); 
    k4=h*f(x(i)+h,y(i)+k3);     
   
    y(i+1)=y(i)+(k1+2*(k2+k3)+k4)/6
end

plot(x,y)

Modul praktikum analisi numerik dengan menggunakan matlab Penyelesaian persamaan linier/tak linier



DAFTAR ISI

1.        Penyelesaian persamaan linier/tak linier 
A.    Metode Biseksi (Bagi Dua) ..................................................  1
B.     Metode Regula Falsi ............................................................  1
C.    Metode Newton Rhapson ....................................................  2
D.    Metode Secant .......................................................................  3
2.        Penyelesaian Sistem Persamaan Linier
A.    Jacobi .......................................................................................  3
3.        Interpolasi
A.  Lagrange .................................................................................  4
4.        Integral
A.  Integral Trapesium ...............................................................  5
B.   Integral Simson  ...............................................................  5
C.  Integral Simson  ...............................................................  6
5.        Persamaan Differensial Biasa
A.    Meode Euler ..........................................................................  6
B.     Metode Runge Kutta Orde IV ............................................  6
6.        Lampiran (Dasar-dasar Matlab)............................................... 8
 


MODUL PRAKTIKUM METODE NUMERIK
1.    Penyelesaian Persamaan Linier/Tak Linier
A.    Metode Biseksi (Bagi Dua)
clc, clear
e1=1/100000000000;
x1=-4;x2=3;xt=(x1+x2)/2;
iterasi=100;
y=inline('x^3','x')
ezplot(y)
axis ([-5 5 -5 5])
grid on
for i=1:iterasi
    if abs(y(x1))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x1; nilaiX,         break
    elseif abs(y(x2))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x2; nilaiX,         break
    elseif abs(y(xt))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=xt; nilaiX,         break
    elseif y(x1)*y(x2)<0
        xt=(x1+x2)/2;
        if y(x1)*y(xt)<0
            x1=x1;            x2=xt;
        elseif y(x2)*y(xt)<0
            x1=xt;            x2=x2;
        end
    else
        disp 'tidak ada akar dalam rentang ini',         break
    end
end
B.     Metode Regula Falsi
clc, clear
e1=0.001;

x1=-2;x2=3;
iterasi=100;

y=inline('x^3','x')
ezplot(y)
axis ([-5 5 -5 5]);grid on

for i=1:iterasi
    xc=x2-((y(x2)*(x2-x1))/(y(x2)-y(x1)))
    if abs(y(x1))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x1; nilaiX,         break
    elseif abs(y(x2))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x2; nilaiX,         break
    elseif abs(y(xc))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=xc; nilaiX,         break
    elseif y(x1)*y(x2)<0
        if y(x1)*y(xc)<0
            x1=x1;            x2=xc;
        elseif y(x2)*y(xc)<0
            x1=xc;            x2=x2;
        end
    else
        disp 'tidak ada akar dalam rentang ini'
        break
    end
end
C.     Metode Newton Rhapson
clc, clear
e1=0.00000000000000001;
x=3;
iterasi=100
y=inline('x^3','x')
dy=diff('x^3','x');
dy=inline(dy)
ezplot(y)
axis ([-5 5 -5 5])
grid on

for i=1:iterasi
    x=x-y(x)/dy(x)
    if abs(y(x))<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x; nilaiX,         break
    end
end
D.    Metode Secant
clc, clear
e1=0.001;
x1=3; x2=2;
iterasi=100
y=inline('x^3','x')
ezplot(y)
axis ([-5 5 -5 5]); grid on

for i=1:iterasi
    x3=x2-(y(x2)*((x2-x1)/(y(x2)-y(x1))))
    if abs(x3-x2)<e1
        Pada_iterasi_ke=i;Pada_iterasi_ke, nilaiX=x3; nilaiX,        break
    end
    x1=x2;    x2=x3;
end