Anda di halaman 1dari 6

Program UAS_Nomer2;

uses math;

const dx = 0.05;

type

arr1Real= array[1..100] of real;

arr2Real= array[1..100,1..100] of real;

procedure gauss_jordan(var A: arr2Real; var B: arr1Real; n: integer);

var

c: real;

i,j,k: integer;

begin

for j:=2 to n do

begin

for k:=1 to j-1 do

begin

c := A[j,k]/A[k,k];

for i:=1 to n do

begin

A[j,i] := A[j,i] - c*A[k,i];

end;

B[j] := B[j] - c*B[k];

end;
end;

for j:=n-1 downto 1 do

begin

for k:=n downto j+1 do

begin

c := A[j,k]/A[k,k];

for i:=1 to n do

begin

A[j,i] := A[j,i] - c*A[k,i];

end;

B[j] := B[j] - c*B[k];

end;

end;

for j:=1 to n do

begin

c := 1/A[j,j];

for i:=1 to n do

begin

A[j,i] := c*A[j,i];

end;

B[j] := c*B[j];

end;

end;
procedure printMatrix2D(A: arr2real; n: integer);

var i,j: integer;

begin

for i:=1 to n do

begin

for j:=1 to n do write(A[i,j]:0:2,' ');

writeln;

end;

end;

procedure printMatrix1D(A: arr1real; n: integer);

var i: integer;

begin

for i:=1 to n do

begin

writeln(A[i]:0:2);

end;

end;

var

x1, x2: real;

x,B,y: arr1Real;

C: arr2Real;

m, N, i, j, k: integer;
begin

writeln('Nomor 2');

writeln;

m := 2;

N := 10;

x[1]:=35;

x[2]:=37;

x[3]:=38;

x[4]:=39;

x[5]:=40;

x[6]:=41;

x[7]:=42;

x[8]:=45;

x[9]:=48;

x[10]:=50;

y[1]:=0.0563;

y[2]:=0.0595;

y[3]:=0.0663;

y[4]:=0.0714;

y[5]:=0.0738;

y[6]:=0.0740;

y[7]:=0.0739;

y[8]:=0.0959;
y[9]:=0.1547;

y[10]:=0.1235;

for k:=1 to m+1 do

for j:=1 to m+1 do

begin

C[k,j] := 0;

for i:=1 to N do C[k,j]:= C[k,j] + (y[i]**(j+k-2));

end;

for k:=1 to m+1 do

begin

B[k]:=0;

for i:=1 to N do B[k]:= B[k] + x[i]*(y[i]**(k-1));

end;

printMatrix2D(C,m+1);

printMatrix1D(B,m+1);

gauss_jordan(C,B,m+1);

write('f(x) = ');

for i:=1 to m+1 do

begin

write(B[i]:0:1);

if (i <> 1) then write('x^',i-1);


if (i <> m+1) then write(' + ');

end;

readln;

end.

Anda mungkin juga menyukai