3852

Розв’язування системи лінійних алгебраїчних рівнянь методом Гауса

Лабораторная работа

Информатика, кибернетика и программирование

Розв’язування системи лінійних алгебраїчних рівнянь методом Гауса Мета роботи: навчитись розв’язувати систему лінійних алгебраїчних рівнянь методом Гауса. Короткі теоретичні відомості Нехай задана система п лінійних рівнянь...

Украинкский

2012-11-09

120 KB

16 чел.

Розв’язування системи лінійних алгебраїчних рівнянь методом Гауса

Мета роботи: навчитись розв’язувати систему лінійних алгебраїчних рівнянь методом Гауса.

Короткі теоретичні відомості

Нехай задана система п лінійних рівнянь із  п  невідомими, яка в матричному записі має вигляд

(1)     – шуканий вектор – розв’язок із відповідними компонентами.

Метод Гауса полягає в зведенні квадратної системи (1) до трикутного вигляду з використан-ням алгоритму послідовного виключення невідомих.

Алгоритм методу Гауса складається з двох етапів:

  1.  Триангуляція матриці

  1.  Обчислення розв’язку

Варіант 17

наступну СЛАР розв’язати методом Гауса

X1=-0,44

X2=2,47

X3=-0,86

X4=-2.07

Текст програми:

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int k_z=4;

float A_mas[5][5]={{1.17,2,3,-2,6},{2,-0.17,-2,-3,6.64},{3,2,-1,1.83,0.68},{2,-3,2,1,-12.08}},

     A[5][5]={{1.17,2,3,-2,6},{2,-0.17,-2,-3,6.64},{3,2,-1,1.83,0.68},{2,-3,2,1,-12.08}},

     x_mas[4]={0};

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

for (int i=0;i<=k_z;i++)

{

  for (int j=0;j<=k_z;j++)

  {

    StringGrid1->Cells[j][0]="X"+IntToStr(j+1);

    StringGrid1->Cells[i][j+1]=FloatToStrF(A[i][j],ffFixed,6,2);

  }

  StringGrid2->Cells[0][i]="X"+IntToStr(i+1);

  StringGrid3->Cells[0][i]=FloatToStrF(A[i][k_z],ffFixed,6,2);

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 int k,i,j;

  for (i=0; i<k_z; i++)

   for (j=0; j<=k_z; j++)

      A_mas[i][j]=A[i][j];

 for(k=0; k<k_z-1; k++)

   for(i=k+1; i<k_z; i++)

     for(j=k_z; j>=k; j--)

       A_mas[i][j]=A_mas[i][j]*A_mas[k][k]-A_mas[k][j]*A_mas[i][k];

 for(i=k_z-1; i>=0; i--)

 {

   float sum=0;

   for(j=k_z-1; j>i; j--)

     sum += A_mas[i][j]*x_mas[j];

   x_mas[i]=(A_mas[i][k_z]-sum)/A_mas[i][i];

 }

  for (i=0;i<=k_z;i++)

 StringGrid2->Cells[1][i]=FloatToStrF(x_mas[i],ffFixed,6,2);

}

//---------------------------------------------------------------------------

Результат виконання програми:

Висновок: На цій лабораторній роботі я розв’язав систему лінійних алгебраїчних рівнянь методом Гауса, а також запрограмував його.


 

А также другие работы, которые могут Вас заинтересовать

70715. Налоговая система России: значение для экономики 254.5 KB
  Государство может воздействовать на ход экономической жизни, лишь располагая определенными денежными средствами. Их должны предоставить все заинтересованные в выполнении функций государства стороны - граждане и юридические лица.
70716. Расчёт и проектирование металлорежущих инструментов 2.17 MB
  Целью данного курсового проекта является расчет и проектирование металлорежущих инструментов: протяжка шестигранная, шлицевая фреза, комбинированное свело и метчик. Протягивание является одним из наиболее высокопроизводительных процессов обработки деталей резанием.
70719. SpectraLab 426.5 KB
  SpectraLAB - мощный двойной анализатор спектра канала. Программа связывается с любой звуковой платой и благодаря Windows-совместимому интерфейсу обеспечивает спектральный анализ в реальном масштабе времени (Real Time) без сохранения спектра сигнала на диск, в режиме Записи...
70721. Дослідження параметричних стабілізаторів напруги 65.5 KB
  Для стабілізації напруги використовується ліва частина вольтамперної характеристики із збільшанням струму напруга майже не міняється. Проста схема стабілізатора напруги подана на рис. Для оцінки якості стабілізатора напруги вводиться величина R яку називають коефіцієнтом...
70722. Дослідження кон’юнктора ДТЛ 5.71 MB
  Мета: ознайомлення з методикою роботи; вивчення принципу дії; перехідних процесів; вивчення впливу напруги живлення і величин компонентів; освоєння методики визначення основних характеристик; статичних параметрів кон’юктора.
70723. ОПРЕДЕЛЕНИЕ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ ВЕЩЕСТВА ПО УГЛУ БРЮСТЕРА 81.5 KB
  Цель работы - определить показатель преломления призмы по углу Брюстера. Из теории следует (см. раздел 2), что если поляризованный свет, колебания вектора Е которого происходят в плоскости падения луча, падает на призму под углом Брюстера...