DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи № 6: Комп’ютерні методи дослідження інформаційних процесів і систем

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

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

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

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем
Група:
БІ
Коротко про документ

Про що ця робота

У звіті розглядається виконання лабораторної роботи з чисельного розв'язування диференціальних рівнянь. Наведено блок-схему алгоритму та програмну реалізацію модифікованим методом Ейлера мовою C#.

У роботі розглядаються

  • Чисельні методи
  • Диференціальні рівняння
  • Модифікований метод Ейлера
  • Програмування мовою C#
  • Обчислювальні алгоритми
  • Лабораторна робота

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Список методів
  4. Блок-схеми
  5. Остаточна версія програми
  6. Результати роботи програми та висновок
Для кого:Студенти технічних спеціальностей та викладачі вищих навчальних закладів.
Викладачі:Не вказано

Ключові поняття

диференціальне рівняннямодифікований метод Ейлераблок-схемаC#програмапочаткові умовикрокінтервалметод класуобчислення

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Інститут комп’ютерних технологій автоматики та метрології Кафедра захисту інформації / Звіт Про виконання лабораторної роботи № 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(); } } } Результати роботи програми: / Висновок: В цій лабораторній роботі я ознайомився з основними методами чисельного розвязування звичайних диференціальних рівнянь. Дана програма розвязує рівняння модифікованим методом Ейлера і виводить на екран значення початкових умов і таблицю розвязків у вигляді значення х – значення у в точці х – значення похідної в точці х.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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