Вы находитесь на странице: 1из 5

KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI

UNIVERSITAS HALU OLEO


FAKULTAS ILMU DAN TEKNOLOGI KEBUMIAN
JURUSAN TEKNIK PERTAMBANGAN

TUGAS PRAKTIKUM MATLAB

OLEH :
SRI WULANDARI AGUSTINI
F1B2 14 061

KENDARI
2016

Laporan Pertama
PENGENALAN MATRIKS
Matrik 3x3
% matrik 3x3
A = [3 1 1;
2 1 2;
4 5 2];
B = [2 1 2;
3 4 1;
5 3 6];
C = A*B
D = A/B
E = A+B
F = A-B

Jenis matrik
% jenis matrik
mat_1=6*ones(2,2)
mat_2=zeros(1,3)
mat_3=[eye(2) -ones(2)]
bil_acak_uniform=rand(1,2)
gaussian_noise=randn(2,2)

Laporan kedua
SISTEM PERSAMAAN LINEAR (METODE GAUSS)
Gauss
function [x,det] = gauss(A,b)
% Solves A*x = b by Gauss elimination and computes det(A).
% USAGE: [x,det] = gauss(A,b)
if size(b,2) > 1;
b = b';
end % b must be column vector
n = length(b);
for k = 1:n-1 % Elimination phase
for i= k+1:n
if A(i,k) ~= 0
lambda = A(i,k)/A(k,k);
A(i,k+1:n) = A(i,k+1:n) - lambda*A(k,k+1:n);
b(i)= b(i) - lambda*b(k);
end
end
end
if nargout == 2; det = prod(diag(A));
end
for k = n:-1:1 % Back substitution phase

b(k) = (b(k) - A(k,k+1:n)*b(k+1:n))/A(k,k);


end
x = b;
Problem Set
% problemset1_praktek
A = vander(12:0.2:13);
b = [10 50 60 20 80 20]';
format short
[x,det] = gauss(A,b);

Laporan Ketiga
SISTEM PERSAMAAN LINEAR (METODE PENGURAIAN
LU)
Problemset
A =[5 1 0;
-2 5 1;
0 -2 5];
n = size(A,1);
for j = 1:n
temp = A(j,j) - dot(A(j,1:j-1),A(j,1:j-1));
if temp < 0.0
error('Matrix is not positive definite')
end
A(j,j) = sqrt(temp);
for i = j+1:n
A(i,j)=(A(i,j) - dot(A(i,1:j-1),A(j,1:j-1)))/A(j,j);
end
end
L = tril(A)
U = L'

Laporan keempat
INTERPOLASI DAN KURVA FITTING (METODE NEWTON)
NewtonPoly
function p = newtonPoly(a,xData,x)
% Returns value of Newtons polynomial at x.
% USAGE: p = newtonPoly(a,xData,x)
% a = coefficient array of the polynomial;
% must be computed first by newtonCoeff.
% xData = x-coordinates of data points.
n = length(xData);
p = a(n);
for k = 1:n-1;
p = a(n-k) + (x - xData(n-k))*p;

end
NewtonCoeff
function a = newtonCoeff(xData,yData)
% Returns coefficients of Newtons polynomial.
% USAGE: a = newtonCoeff(xData,yData)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
n = length(xData);
a = yData;
for k = 2:n
a(k:n) = (a(k:n) - a(k-1))./(xData(k:n) - xData(k-1));
end

Program
% Example4
xData = [0.11; 2.2; 4.15; 4.75; 9.25; 2.35];
yData = [2.78867; 3.78013; 8.22510; 3.61413;2.12374; 2.34909];
n = length(xData);
a = yData;
for k = 2:n
a(k:n) = (a(k:n) - a(k-1))./(xData(k:n) - xData(k-1));
end
a = newtonCoeff(xData,yData);
'
x
yInterp
yExact'
for x = 0: 0.5: 8
n = length(xData);
p = a(n);
for k = 1:n-1;
p = a(n-k) + (x - xData(n-k))*p;
end
y = newtonPoly(a,xData,x);
yExact = 4.8*cos(pi*x/20);
fprintf('%10.5f',x,y,yExact)
fprintf('\n')
end

Laporan Kelima
INTERPOLASI DAN KURVA FITTING
(INTERPOLASI DENGAN KUBIK SPLINE)
SplineEval
function y = splineEval(xData,yData,k,x)
% Returns value of cubic spline interpolant at x.
% USAGE: y = splineEval(xData,yData,k,x)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
% k = curvatures of spline at the knots;
% returned by function splineCurv.
i = findSeg(xData,x);

h = xData(i) - xData(i+1);
y = ((x - xData(i+1))^3/h - (x - xData(i+1))*h)*k(i)/6.0...
- ((x - xData(i))^3/h - (x - xData(i))*h)*k(i+1)/6.0...
+ yData(i)*(x - xData(i+1))/h...
- yData(i+1)*(x - xData(i))/h

SplineCurv
function k = splineCurv(xData,yData)
% Returns curvatures of a cubic spline at the knots.
% USAGE: k = splineCurv(xData,yData)
% xData = x-coordinates of data points.
% yData = y-coordinates of data points.
n = length(xData);
c = zeros(n-1,1); d = ones(n,1);
e = zeros(n-1,1); k = zeros(n,1);
c(1:n-2) = xData(1:n-2) - xData(2:n-1);
d(2:n-1) = 2*(xData(1:n-2) - xData(3:n));
e(2:n-1) = xData(2:n-1) - xData(3:n);
k(2:n-1) = 6*(yData(1:n-2) - yData(2:n-1))...
./(xData(1:n-2) - xData(2:n-1))...
- 6*(yData(2:n-1) - yData(3:n))...
./(xData(2:n-1) - xData(3:n));
[c,d,e] = LUdec3(c,d,e);
k = LUsol3(c,d,e,k);

Program
xData =[5;7;1;8;9];
yData =[7;2;7;2;7];
k = splineCurv(xData,yData);
while 1
x = input('x = 10');
if isempty(x)
fprintf('Done');
break
end
y = splineEval(xData,yData,k,x)
fprintf('\n')
end

Вам также может понравиться