DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / ЗВІТ До лабораторної роботи №2 МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ Варіант №13 Львів – 2013 1. МЕТА РОБОТИ Ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. 2. ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Розв’язати систему лінійних алгебраїчних рівнянь методом Гаусса.   Варіант Метод К, Р  13  МЕТОД - LU 2,1   Метод LU – розвитку Це одна з модифікацій методу Гауса. Матрицю А зображають у вигляді добутку двох трикутних матриць: , де   (7) Тоді система коефіцієнтів системи з  рівнянь набуде вигляду  (9)  (10) Прямий хід тут – це розв’язування системи (9), зворотний – розв’язування системи (10). Елементи матриць  і  обчислюють послідовно: спочатку елементи першого стовпця матриці , потім – першого рядка матриці  і перший елемент вектора ; далі – другий стовпець матриці , другий рядок матриці  і другий елемент вектора  і так далі:     Під час зворотного ходу визначають невідомі :  Текст програми using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Laba2 { class Program { static void Main(string[] args) { int n = 4, p = 1, K = 2; double s = 0.2 * K, b = 0.2 * p; double[,] A = new double[,] { {8.3, 2.62 + s, 4.1, 1.9}, {3.92, 8.45, 7.78 - s, 2.46}, {3.77, 7.21 + s, 8.04, 2.28}, {2.21, 3.65 - s, 1.69, 6.69} }; double[] B = new double[] { -10.65 + b, 12.21, 15.45 - b, -8.35 }; double[,] L = new double[n, n], U = new double[n, n]; double[] X = new double[n], Y = new double[n]; //lu - розклад for (int k = 0; k < n; k++) { for (int i = k; i < n; i++) { double sum = 0; for (int m = 0; m <= k - 1; m++) sum += L[i, m] * U[m, k]; L[i, k] = A[i, k] - sum; } for (int j = k + 1; j < n; j++) { double sum = 0; for (int m = 0; m <= k - 1; m++) sum += L[k, m] * U[m, j]; U[k, j] = (A[k, j] - sum) / L[k, k]; } U[k, k] = 1; } //прямий хід Y[0] = B[0] / L[0, 0]; for (int i = 1; i < n; i++) { double sum = 0; for (int m = 0; m <= i - 1; m++) sum += L[i, m] * Y[m]; Y[i] = (B[i] - sum) / L[i, i]; } //об. хід X[n - 1] = Y[n - 1]; for (int i = n - 2; i >= 0; i--) { double sum = 0; for (int m = i + 1; m < n; m++)////// sum += U[i, m] * X[m]; X[i] = Y[i] - sum; } Console.WriteLine("Розвязок системи X[]"); for (int i = 0; i < n; i++) Console.WriteLine(X[i]); Console.WriteLine(); Console.WriteLine("Перевiрка Вивiд B[]"); for (int i = 0; i < n; i++) Console.WriteLine(B[i]); Console.WriteLine(); Console.WriteLine("Перевiрка (вивiд суми A[i, j] * X[j])"); for (int i = 0; i < n; i++) Console.WriteLine(A[i, 0] * X[0] + A[i, 1] * X[1] + A[i, 2] * X[2] + A[i, 3] * X[3]); Console.ReadKey(); } } } Результати виконання програми / Висновок: Я ознайомився з прямими методами розв’язування систем лінійних алгебраїчних рівнянь.
Антиботан аватар за замовчуванням

04.11.2013 21:16

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

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

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!