Tampilkan postingan dengan label Lagrange. Tampilkan semua postingan
Tampilkan postingan dengan label Lagrange. 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)