АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Преподаватель________Кондратьева Е.И

Читайте также:

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

    ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

    УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

    «МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

    (национальный исследовательский университет)» (МАИ)

    Филиал «ВОСХОД»

    Кафедра МиПОИС

    «Утверждаю»

     

    Преподаватель________Кондратьева Е.И.

     

    «_____» _____________ 2013 г.

     

     

    Отчет

    По лабораторной работе №1

     

    на тему: Метод Гаусса решения СЛАУ

    по дисциплине: Численные методы и алгоритмы

     

    Студенты гр. ВА3-62_________Кулбараков А.Б.

    «_____»_________ 2013 г.

     

    Байконур 2013 г.

    Задание: Дана неоднородная СЛАУ:

    Требуется:

    1. Составить алгоритм и программу решения СЛАУ размерности n методом Гаусса.

    2. Использовать программу для решения варианта задания.

    3. Выполнить проверку и сделать выводы.

     

    Метод Гаусса

    Первоначально матрица приводится к верхней треугольной (прямой ход), далее в единичный (обратный ход)

    Предположим, что проведено исключения из k-1 столбца, тогда у нас останутся уравнения с ненулевыми элементами ниже главной диагонали.

    Умножим к-ую строку на С.

    - преобразованный диагональный элемент m>k вычтем из строки m.

    Остальные коэффициенты высчитываются:


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

     

    procedure TForm1.Button2Click(Sender: TObject);

    var i,j:integer;

    AD:real;

    S:real;

    begin

    memo1.Lines.Clear;

    setlength(A,n,n);

    Setlength(B,N);

    setlength(A1,n,n);

    Setlength(B1,N);

    Setlength(X,N);

    for i:= 0 to n - 1 do begin

    B[i]:=strtofloat(BGrid.Cells[0,i]);

    B1[i]:=B[i];

    for j:= 0 to n - 1 do begin

    A[i,j]:=strtofloat(AGrid.Cells[j,i]);

    A1[i,j]:=A[i,j]; end; end;

    //---------------------ПРЯМОЙ ХОД -------------------//

    Iter:=0;

    Repeat

    for I:= 0 to n - 1 do

    if (I=Iter) then begin

    AD:=a1[iter,iter];

    B1[iter]:=B1[iter]/Ad;

    for j:= Iter to n - 1 do A1[i,j]:=A1[i,j]/AD; end;

    for i:= iter+1 to n - 1 do begin

    Ad:=-A1[i,iter];

    for j:= iter to n - 1 do

    A1[i,j]:=A1[iter,j]*Ad+A1[i,j];

    B1[i]:=B1[iter]*Ad+B1[i]; end;

    inc(iter);

    Until (Iter=(n-1));

    //-----------------ОБРАТНЫЙ ХОД------------------//

    for i:= 0 to n - 1 do

    x[i]:=0;

    iter:=n-1;

    repeat

    for i:= iter to n - 1 do

    if i<>iter then

    x[iter]:=x[iter]+x[i]*a1[iter,i];

    x[iter]:=(b1[iter]-x[iter])/a1[iter,iter];

    iter:=iter-1;

    until iter<(0);

    for i:= 0 to n - 1 do

    memo1.Lines.Add('x'+inttostr(i+1)+'='+floattostrf(x[i],fffixed,6,3));

    for i:= 0 to n - 1 do begin

    S:=0;

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

    memo1.Lines.Add('r'+inttostr(i+1)+'='+floattostrf(s-b[i],fffixed,6,3));

    end;

    end;


    Результат работы программы

     

    Рисунок 1 – Окно программы


    Поиск по сайту:



    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)