Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Invers_Gauss(n, a, invert);. printf(\n Obratnaja matrica:\n);




printf("\n Obratnaja matrica:\n");

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

{

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

printf("%10.5f", invert[i][j]);

printf("\n");

}

printf("\n");

return 0;}

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

Решение системы линейных алгебраических уравнений

методом Гаусса с выбором главного элемента по всей матрице

В головной программе необходимо:

  1. описать прототип функции решения системы уравнений:

int Gauss(int n, float a[n][n], float b[n], float x[n]);

  1. ввести значение переменной n – порядок системы уравнений,
  2. описать массивы:

float a[n][n]; // матрица коэффициентов системы уравнений

float b[n]; // матрица свободных членов

float x[n]; // вектор решения (вектор неизвестных)

  1. ввести массивы a[n][n] и b[n],
  2. обратиться к программе решения системы уравнений:

Gauss(n, a, b, x)

  1. вывести на экран терминала (в текстовый файл) вектор решения.

Пример: решить систему уравнений

x1 – 3x2 + 2x3 = 5;

3x1 - 4x2 = 7;

2x1 - 5x2 + 3x3 = 9;

В этом случае n=3;

1 -3 2 5

a[3][3]= 3 -4 0 b[3]= 7

2 -5 3 9

Головная программа:

#include <stdio.h>

#include <math.h>

#include <conio.h>

int Gauss(int n, float a[n][n], float b[n], float x[n]);

int main(int argc, char **argv)

{

int n; // порядок системы уравнений

int i,j; // рабочие переменные

printf("\n porjadok sistemy uravn. n=");

scanf("%d", &n);

float a[n][n]; // матрица коэффициентов системы уравнений

float b[n]; // вектор свободных членов

float x[n]; // вектор решения системы уравнений

printf("\n vvedite matrizu koeff. sistemy postrochno:\n");

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

{

printf("\n stroka %d (%d chisel):\n", i+1, n);

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

scanf("%f", &a[i][j]);

}

printf("\n");

printf("\n vvedite vektor svobodn. chlenov:\n");

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

scanf("%f", &b[i]);

printf("\n");

Gauss(n, a, b, x);

printf("\n Reshenie sistemy uravn.:\n");

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

printf("%10.5f", x[i]);

printf("\n");

Return 0;

}

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

Таким образом,

x1=5.0 x2=2.0 x3=3.0

 

Решение системы линейных алгебраических уравнений

методом Гаусса по схеме Халецкого

В головной программе необходимо:

1. описать прототип функции решения системы уравнений:

int Gauss_Haleckij(int n, float a[n][n], float b[n], float x[n]);

2. ввести значение переменной n – порядок системы уравнений,

3. описать массивы:

float a[n][n]; // матрица коэффициентов системы уравнений

float b[n]; // матрица свободных членов

float x[n]; // вектор решения (вектор неизвестных)

4. ввести массивы a[n][n] и b[n],

5. обратиться к программе решения системы уравнений:

Gauss_Haleckij(n, a, b, x);

6. вывести на экран терминала (в текстовый файл) вектор решения.

Пример: решить систему уравнений

x1 – 3x2 + 2x3 = 5;

3x1 - 4x2 = 7;

2x1 - 5x2 + 3x3 = 9;

В этом случае n=3;

1 -3 2 5

a[3][3]= 3 -4 0 b[3]= 7

2 -5 3 9

Головная программа:

#include <stdio.h>

#include <math.h>

#include <conio.h>

int Gauss_Haleckij(int n, float a[n][n], float b[n], float x[n]);

int main(int argc, char **argv)

{

int n; // порядок системы уравнений

int i,j; // рабочие переменные

printf("\n porjadok sistemy uravn. n=");

scanf("%d", &n);

float a[n][n]; // матрица коэффициентов системы уравнений

float b[n]; // вектор свободных членов

float x[n]; // вектор решения системы уравнений

printf("\n vvedite matrizu koeff. sistemy postrochno:\n");

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

{

printf("\n stroka %d (%d chisel):\n", i+1, n);

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

scanf("%f", &a[i][j]);

}

printf("\n");

printf("\n vvedite vektor svobodn. chlenov:\n");

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

scanf("%f", &b[i]);

printf("\n");





Поделиться с друзьями:


Дата добавления: 2017-03-11; Мы поможем в написании ваших работ!; просмотров: 284 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2308 - | 2123 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.