Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Контрольная работа по " Численные методы"

Автор:   •  Март 17, 2018  •  Контрольная работа  •  592 Слов (3 Страниц)  •  635 Просмотры

Страница 1 из 3

КОНТРОЛЬНАЯ РАБОТА

По дисциплине: Численные методы.

ВАРИАНТ 3

Работу выполнила:

студент

Проверил преподаватель:    

 «__»___________2008г.

Результат____________

2008г.


1. Решение Системы линейных уравнений.

        Задание: Найти решение системы линейных уравнений. Для решения системы линейных уравнений использовать метод Гаусса.

-1.5X1+6.3X2   -1.8X3+12.4X4       = -62.9  

9.4X1-2.4X2+2.9X3                     -4.3X5 = 115.5            

        -3.4X2+10.9X3-3.7X4 +4.2X5   = 40.2

3.7X1-1.4X2+0.1X3+2.9X4-9.7X5 = 76.9            

2.3X1+11.2X2         -4.3X4 +2X5 = -28.6        

 Листинг программы:

program P1;

 uses crt;

const n=5; {максимальная размерность матрицы}

var

 a:array [1..n,1..n] of real;

 x,b:array [1..n] of real;

 i,j,k:integer;

 d:real;

begin

writeln('Vvedite posledovatelno elementi matr. (A):');

 for i:=1 to n do begin

     for j:=1 to n do read(a[i,j]);

 end;

 writeln('Vvedite svobodnie chleni (B):');

 for i:=1 to n do read (b[i]);

{ Прямой ход }

 for i:=1 to n-1 do begin

     for k:=i+1 to n do begin

          d:=a[k,i]/a[i,i];

          for j:=i+1 to n do a[k,j]:=a[k,j]-a[i,j]*d;

          b[k]:=b[k]-b[i]*d;

     end;

 end;

{Обратный ход}

 for i:=n downto 1 do begin

     for j:=i+1 to n do b[i]:=b[i]-a[i,j]*x[j];

     x[i]:=b[i]/a[i,i];

 end;

 writeln('Вектоор неизвестных (Х): ');

 for i:=1 to n do writeln('X[',i:2,']=',x[i]:1:5);

 readln;

 readln;

end.

Результат:

[pic 1]


2. Решение СНАУ.

Решить систему:                                          

1.893*x1 – 0.581*ln(1.039*x2)=2.768

1.452*x2 – 1.578*e-0.976x1 =0.652

методом Ньютона.

Пределы изменения значений Х1 и Х2 

Х1є [0.5,3.5]; X2 є [0.5,3.5]

Листинг программы:

program newton2;

const

  n_max = 2;

   a1=0.5;

  b1=3.5;

  a2=0.5;

  b2=3.5;

type

TVec = array[1..n_max] of comp;

TMat = array[1..n_max,1..n_max] of comp;

procedure F(n: integer; x: TVec; var y: TVec);

begin

y[1]:=1.893*x[1]-0.581*ln(1.039*x[2])-2.768;

y[2]:=1.452*x[2]-1.578*exp(-0.976*x[1])-0.652;

end;

procedure G(n: integer; x: TVec; var a: TMat);

var

det: comp;

i,j: integer;

begin

a[1,1]:=1.893; a[1,2]:=-0.581/x[2];

a[2,1]:=0.976*1.578*exp(-0.976*x[1]); a[2,2]:=1.452;

det:=1.893*1.452-(-0.581/x[2]*0.976*1.578*exp(-0.976*x[1]));

for i:=1 to n do

for j:=1 to n do

a[i,j]:=a[i,j]/det;

end;

procedure Newts(n: integer; var x: TVec; eps:comp);

var

i,j: integer;

x0,y: TVec;

a: TMat;

cod: boolean;

begin

repeat

for i:=1 to n do x0[i]:=x[i];

F(n,x,y); G(n,x,a);

for i:=1 to n do

for j:=1 to n do

x[i]:=x[i]-a[i,j]*y[j];

cod:=true;

for i:=1 to n do

if abs(x[i]-x0[i]) > eps then cod:=false;

until cod;

for i:=1 to n do

writeln('x[i]=',x[i]:4:6);

end;

var

x: TVec;

n: integer;

eps: comp;

begin

  n:=n_max;

  eps:=0.0001;

...

Скачать:   txt (5.8 Kb)   pdf (185.8 Kb)   docx (33.4 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club