Комп’ютерні методи дослідження інформаційних процесів і систем

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

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

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

Рік:
2013
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Метрологія
Група:
БІ

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Інститут комп’ютерних технологій автоматики та метрології Кафедра захисту інформації / Звіт Про виконання лабораторної роботи № 6 «Комп’ютерні методи дослідження інформаційних процесів і систем» (Варіант7) Мета роботи: ознайомлення з чисельними методами розв’язування диференційних рівнянь. Завдання: Ознайомитись з основними теоретичними відомостями. Розробити детальну блок-схему алгоритму методу. Написати програму, яка забезпечить розв’язок та виведення на екран результатів роботи. Ввести в комп’ютер програму згідно з отриманим завданням. Здійснити відладку введеної програми, виправивши виявлені помилки. Виконати програму. Текст відлагодженої програми та отримані результати оформити у звіт з лабораторної роботи. варіант Диференційне рівняння Метод Початкові умови інтервал крок  7  Модифі- кований метод Ейлера  [0,1] 0,1   Список методів, використаних в програмі та блок-схемі алгоритму: go() – метод класу Laba, який викликає початок роботи програми. vvid() – метод класу Laba, який забезпечує зчитування границь проміжку. begin() – метод класу Laba, який забезпечує формування початкових умов. cycle() – метод класу Laba, який забезпечує розвязання рівняння модифікованим методом Ейлера. F1(double[] y0) – метод класу Laba, який повертає елемент масиву початкових умов. double F2(double x, double[] y0) – метод класу Laba, який повертає обчислене значення функції. WriteLine() – метод класу Console, який забезпечує вивід з переходом на новий рядок. Write() – метод класу Console який забезпечує вивід без переходу на новий рядок. ReadLine() – метод класу Console, який забезпечує зчитування даних з клавіатури. ToDouble() – метод класу Convert, який забезпечує приведення даних до типу double. Cos() – метод класу Math, який забезпечує обчислення косінуса Pow() – метод класу Math, який забезпечує піднесення у степінь. Main() – метод класу Program, з якого починається робота програми. Блок-схеми: Блок-схема до методу cycle(): початок y = new double[2]; x=a,b x+=h pochUmova[0] = y0[0] + h * F1(y0); y[0]=y0[0]+0.5*h*(F1(y0)+F1(pochUmova)); pochUmova[1] = y0[1] + h * F1(y0); y[1] = y0[1] + 0.5 * h * (F2(x, y0) + F2(x + h, pochUmova )); x, y, dy i=0,y.Length i++ y0[i] = y[i]; кінець Остаточна версія програми: using System; using System.Collections.Generic; using System.Text; namespace Laba6_kmd { class Laba { public double h=0.1; public double a; public double b; public double [] y0; public double[] pochUmova; public double[] y; public double x; public void go() { vvid(); } void vvid() { Console.Write("введiть початкове значення х: a="); a = Convert.ToDouble(Console.ReadLine()); Console.Write("введiть кiнцеве значення х: b="); b = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(); begin(); } void begin() { Console.WriteLine(); Console.WriteLine("Початковi умови:"); y0 = new double[2]; y0[0] = -(1.0 / 32); Console.WriteLine("y="+y0[0]); y0[1] = -4; Console.WriteLine("dy"+y0[1]); Console.WriteLine(); pochUmova = new double[2]; for (int i = 0; i < pochUmova.Length; i++) { pochUmova[i] = y0[i]; } cycle(); } double F1(double[] y0) { return y0[1]; } double F2(double x, double[] y0) { return Math.Pow((Math.Cos(4 * x)), (-3))-16*y0[0]; } void cycle() { y = new double[2]; for (x = a; x <= b; x += h) { pochUmova[0] = y0[0] + h * F1(y0); y[0]=y0[0]+0.5*h*(F1(y0)+F1(pochUmova)); pochUmova[1] = y0[1] + h * F1(y0); y[1] = y0[1] + 0.5 * h * (F2(x, y0) + F2(x + h, pochUmova )); Console.WriteLine("x="+x+"\t dy="+y[0]+"\t d2y="+y[1]); for (int i = 0; i < y.Length; i++) { y0[i] = y[i]; } } } } class Program { static void Main(string[] args) { Laba got = new Laba(); got.go(); } } } Результати роботи програми: / Висновок: В цій лабораторній роботі я ознайомився з основними методами чисельного розвязування звичайних диференціальних рівнянь. Дана програма розвязує рівняння модифікованим методом Ейлера і виводить на екран значення початкових умов і таблицю розвязків у вигляді значення х – значення у в точці х – значення похідної в точці х.
Антиботан аватар за замовчуванням

24.01.2013 00:29

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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