Você está na página 1de 3

ALIF AL BASHRI/ 3714100010/METODE INVERSI

Script matlab inversi polineal dan model bidang


1. Inversi Polineal
clear;
clc;

%data yang diperoleh suhu vs kedalaman;


z =[5 10 15 20 25 30 35 40 45 50];
t =[21 21.8 22.6 32 42 48 51.2 55.5 63.8 78.8];

%Plot data yang telah diperoleh


plot(z,t,'*r');
grid;
xlabel('Kedalaman(m)');
ylabel('Temperatur(Celcius)');
title('\fontsize{14} Variasi Suhu vs Kedalaman');

%Pengolahan data dengan matriks kernell


n = length(z);
for k = 1:n;
G(k,1) = 1;
G(k,2) = z(k);
G(k,3) = z(k).^2;
end
d = t';

% Perhitungan inversi dengan general least squares


m = inv(G'*G)*G'*d;

%Plot Hasil Inversi


hold on;
zz = 0:0.5:z(n);
tt = m(1) + m(2)*zz + m(3)*zz.^2;
plot(zz,tt);
%end

Hasil Inversinya
ALIF AL BASHRI/ 3714100010/METODE INVERSI

2. Inversi Model Bidang


clear all;
clc;

%Data observasi
x = [2 5 7 4 1 3 6 9 8 4];
y = [3 6 2 7 8 9 4 1 5 5];
nilai = [10.6 23.5 27.3 20.8 11.1 18.9 25.4 33.5 33.2 24.1];

% Plot data observasi


plot3(x,y,nilai,'*r');
grid;
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Nilai');
title('\fontsize{14} Sebaran nilai terhadap X dan Y');
%ndata = length(nilai);

% Membentuk matrik kernel G dan vektor d


ndata = length(x);
for k = 1:ndata
G(k,1) = 1;
G(k,2) = x(k);
G(k,3) = y(k);
end
ALIF AL BASHRI/ 3714100010/METODE INVERSI

d = nilai';

% Perhitungan inversi dengan general least-squares


m = inv(G'*G)*G'*d;

% Plot hasil inversi (berupa garis least-squares)


hold on;
[X,Y] = meshgrid(min(x):max(x),min(y):max(y));
Z = m(1) + X.*m(2) + Y.*m(3);
surf(X,Y,Z);

Hasil Inversinya

Você também pode gostar