MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


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

Название:Числові методи
Просмотров:81
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание: МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ЧЕРНІВЕЦЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІМ. Ю. ФЕДЬКОВИЧА КОНТРОЛЬНА РОБОТА з дисципліни " Числові методи " Варіант 16. Виконав студент 2-го курсу к

Часть полного текста документа:

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

ЧЕРНІВЕЦЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

ІМ. Ю. ФЕДЬКОВИЧА

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

з дисципліни " Числові методи "

Варіант 16.

Виконав

студент 2-го курсу

кафедри ЕОМ

Перевірив

м. Чернівці


Завдання 1

 

Задана СЛАР

а) розв’язати цю систему методом Гауса за схемою з частковим вибором головного елементу;

б)розв’язати цю систему за формулою

.

– вектор невідомих, – вектор вільних членів, – обернена матриця до матриці  з коєфіцієнтів при невідомих.

Обернену матрицю знай ти методом Гауса - Жордана за схемою з частковим вибором головного елемента.

Рішення.

а) Прямий хід методу Гауса.

()

Запишемо матрицю .

1-й крок.

Серед елементів першого стовпчика шукаємо максимальний:

  

Перше і друге рівняння міняємо місцями.

Розділимо рівняння (1) на 2.5

 (1)

Від рівняння (2) віднімемо 1.7Р1 .

 (2)

 (3)

Таким чином в кінці першого кроку отримуємо систему

2-й крок.

Порядок рівнянь зберігається.

  (2)

 (3)

Після другого кроку система рівнянь стала такою:

Зворотній хід.

З рівняння (3) ;

з рівняння (2)  ;

з рівняння (1)  ;

Для рішення системи лінійних рівнянь методом Гауса призначена програма Work1_1.

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

// Work1_1.cpp

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

// "Числові методи"

// Завдання 1

// Рішення системи лінійних рівнянь методом Гауса

#include <stdio.h>

#include <iostream.h>

#include <conio.h>

const int nMax=5; // максимальна кількість рівнянь

const float ZERO=.0000001;

int fGaus(float A[nMax][nMax],float B[nMax],int n,float X[nMax])

/* Функція розв'язує систему лінійних рівнянь методом Гауса за схемою з

частковим вибором головного елементу.

Вхідні дані:

A- масив з коефіцієнтами при невідомих;

В- масив з вільними членами СЛАР;

n- порядок матриці А(кількість рівнянь системи);

Вихідні дані:

Х- масив з коренями системи;

функція повертає код помилки:

0- сисетма успішно розв’язана;

1- матриця А вироджена. */

{float aMax,t; // максимальний елемент , тимчасова змінна

int i,j,k,l;

for(k=0; k<n; k++) // шукаємо головний елемент, мах за модулем

{aMax=A[k][k]; l=k;

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

if (fabs(A[i][k])>fabs(aMax))

{aMax=A[i][k];

l=i;}

// якщо модуль головного елементу aMax менший за програмний 0 (ZERO)

if ( fabs(aMax)<ZERO ) return 1;

// якщо потрібно, міняємо місцями рівняння Pk i Pl

if ( l!=k)

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

{ t=A[l][j]; A[l][j]=A[k][j]; A[k][j]=t; }

t=B[l]; B[l]=B[k]; B[k]=t;}

// ділимо k-те рівняння на головний елемент

for (j=0; j<n; j++) A[k][j]/=aMax;

B[k]/=aMax;

// обчислюємо коефіцієнти A[i][j] та вільні члени решти рівнянь

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

{t=A[i][k]; B[i]-=t*B[k];

for (j=0; j<n; j++) A[i][j]-=t*A[k][j];}

} // for (k)

// Зворотній хід

for ( k=n-1; k>=0; k--)

{X[k]=0;

for (l=k+1; l<n; l++) X[k]+=A[k][l]*X[l];

X[k]=B[k]-X[k];}

return 0;

} // fGaus()

void main()

{float A[nMax][nMax];

float B[nMax];

float X[nMax];

int n,i,j;

char *strError="\n Error of file !";

FILE *FileIn,*FileOut;

FileIn=fopen("data_in.txt","r"); // відкриваємо файл для читання

if (FileIn==NULL)

{cout << " \"Data_in.txt\": Error open file or file not found !!!\n";

goto exit;}

FileOut=fopen("data_out.txt","w"); // відкриваємо файл для запису

if (FileOut==NULL)

{cout << " \"Data_out.txt\": Error open file !!!\n";

goto exit;}

if(fscanf(FileIn,"%d",&n)==NULL)

{ cout << strError; goto exit;};

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

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

fscanf(FileIn,"%f",&(A[i][j]));

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

if(fscanf(FileIn,"%f",&(B[i]))==NULL)

{ cout << strError; goto exit;}

if(fGaus(A,B,n,X)!=0)

{ cout << "\n det|A|=0 !"; goto exit;}

// Вивід результатів

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

{printf(" x[%d]= %f ",i+1,X[i]);

fprintf(FileOut," x[%d]= %f ",i+1,X[i]);}

fclose(FileIn);

fclose(FileOut);

exit: cout << "\n Press any key ...";

getch();}

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

x[1]= 3.017808 x[2]= 0.356946 x[3]= -0.302131

б) Знайдемо обернену матрицю .

0-й крок.

А  Е

1-й крок.

 

 

 ;

 

2-й крок.

 

 ;

 

3-й крок.

;  ;

 

.

Даний алгоритм рішення системи лінійних рівнянь реалізований в програмі Work1_2.

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

// Work1_2.cpp

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

// "Числові методи"

// Завдання 1

// Рішення системи лінійних рівнянь методом Гауса-Жордана

#include <stdio.h>

#include <iostream.h>

#include <conio.h>

const int nMax=5; // максимальна кількість рівнянь

const float ZERO=.0000001;

int fGausJordan(int n,float A[nMax][nMax],float Ainv[nMax][nMax])

/* Функція знаходить обернену матрицю

Вхідні дані:

A- масив з коефіцієнтами при невідомих;

n- порядок матриці А(кількість рівнянь системи);

Вихідні дані:

Ainv- матриця обернена до матриці А;

функція повертає код помилки:

0- помилки немає;

1- матриця А вироджена. ............







Похожие работы:

Название:Різницевий метод розв'язання крайових задач для звичайних диференціальних рівнянь
Просмотров:247
Описание: Міністерство освіти і науки України Дніпропетровський національний університет ім. Олеся Гончара Механіко-математичний факультет Кафедра прикладної газової динаміки і тепломасообміну Різ

Название:Системи лінійних рівнянь
Просмотров:281
Описание: СИСТЕМИ ЛІНІЙНИХ РІВНЯНЬ   1. Основні поняття і теореми   Постановка задачі. Потрібно знайти значення х1, х2, … , хn , що задовольняють таким співвідношенням: . Тут aij (i = 1, 2, … , m; j = 1, 2, … , n) і bk (k = 1, 2, … , m)

Название:Дослідження проблеми тригонометричних рівнянь
Просмотров:250
Описание: Дипломна робота Дослідження проблеми тригонометричних рівнянь ВВЕДЕННЯ У стародавності тригонометрія виникла у зв'язку з потребами астрономії, будівельної справи

Название:Деякі скінченно-різнецеві методи розв’язування звичайних диференціальних рівнянь
Просмотров:237
Описание: Міністерство освіти і науки України Прикарпатський національний університет імені Василя Стефаника Факультет математики та інформатики кафедра диференціальних рівнянь і прикладної математики

Название:Дослідження нестандартних методів рішення рівнянь і нерівностей.
Просмотров:235
Описание: Дипломна робота: Дослідження нестандартних методів рішення рівнянь і нерівностей. ЗМІСТ ВВЕДЕННЯ 1 ІСТОРИЧНА ДОВІДКА 2 РІШЕННЯ ЗАДАЧ ІЗ ВИКОРИСТАННЯМ ВЛАСТИВОСТЕЙ ФУНКЦІЇ      

 
     

Вечно с вами © MaterStudiorum.ru