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

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

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

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

Автоматичний потенціометр з магнітним підсилювачем

Оригінальна назва роботи

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

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

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

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

Рік:
2026
Тип роботи:
Курсова робота
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем
Група:
КН-31
Коротко про документ

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

У курсовій роботі досліджено систему автоматичного потенціометра з магнітним підсилювачем. Проведено чисельне розв'язання системи диференціальних рівнянь за допомогою методу Рунге-Кутта та модифікованого методу Ейлера.

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

  • Чисельні методи
  • Диференціальні рівняння
  • Метод Рунге-Кутта
  • Метод Ейлера
  • Моделювання
  • Магнітний підсилювач

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

  1. Постановка задачі
  2. Перетворення рівнянь
  3. Теоретичні відомості
  4. Лістинг програм
  5. Результати виконання програми
  6. Графіки
  7. Висновки
  8. Список використаної літератури
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають чисельні методи.
Викладачі:Викладач кафедри

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Курсова робота з курсу: " Комп'ютерні методи дослідження інформаційних процесів і систем " на тему: "Автоматичний потенціометр з магнітним підсилювачем " Тема 2, варіант 3 ЛЬВІВ 2016 Зміст 1. Постановка задачі………………………………………………………………3 2. Перетворення рівнянь………………………………………………………….4 3. Теоретичні відомості…………………………………………………………...5 3.1.Вступ…………………………………………………………………….5 3.2. Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку…9 3.3.Модифікований Метод Ейлера…………………………………….....11 4. Лістинг програм……………………………………………………………….13 4.1 Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку....13 4.2 Модифікований Метод Ейлера…………………………………….....15 5. Результати виконання програми……………………………………………...18 5.1 Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку…18 5.2 Модифікований Метод Ейлера…………………………………….....22 6.Графіки………………………………………………………………………….24 7.Висновки………………………………………………………………………..25 8. Список використаної літератури……………………………………………..26 Тема № 2 АВТОМАТИЧНИЙ ПОТЕНЦІОМЕТР З МАГНІТНИМ ПІДСИЛЮВАЧЕМ Схема: Рівняння ланок : вимірювальна схема електронний підсилювач магнітний підсилювач двигун редуктор 1. Звести систему алгебро-диференціальних рівнянь до системи трьох диференціальних рівнянь першого порядку, представити її у нормальній формі та розв’язати цю систему вказаними методами. Початкові умови - =1 радіан, решта початкових умов – нульові. Числові значення сталих параметрів, заданих в таблиці, слід зобразити з допомогою одиниць системи СІ. Коефіцієнт підсилення електронного підсилювача вибирається експериментально. 2. Побудувати графік зміни величини Перетворення рівнянь T + e2 = Kм(вх — вих) Розв’ язуємо відносно = (вх — вих) — Це перше рівняння системи У рівняння (3) підставляємо (2) та (4), при цьому з рівняння (4) знаходимо ω = = i = I = CuU — C ω ; I = Cu· кпe2 — C ω· ω I=Iд+ Iн/ i2 3. Теоретичні відомості 3.1.Вступ Диференціальне рівняння (ДР), що містить лише одну незалежну змінну і похідні за нею, називають звичайними (ДР). ДР, що містить декілька незалежних змінних і похідні за ними, називають рівняння в частинних похідних. Порядком ДР називається найвищий порядок похідної (або диференціалу), який входить в рівняння. Звичайне ДР (ЗДР) -го порядку в загальному випадку має незалежну змінну, невідому функцію та її похідні до -го порядку включно: (1) - незалежна змінна; - невідома функція (залежна змінна); - похідні цієї функції. Диференціальне рівняння -го порядку, розв’язане відносно старшої похідної, може бути записано у вигляді: (2) Щоб розв’язати ЗДР, необхідно мати значення залежної змінної та (або) її похідних при деяких значення незалежної змінної. Якщо ці значення задані при одному значенні незалежної змінної - така задача називається задачею з початковими умовами або задачею Коші, а при або більше значеннях незалежної змінної - задача називається крайовою. Значення залежної змінної та її похідних називаються додатковими умовами, котрі в задачі Коші називаються початковими, а в крайовій задачі - граничними. Система звичайних диференціальних рівнянь Система рівнянь першого порядку з невідомими функціями має вигляд: (1) де - незалежна змінна; - невідомі функції. Це система в нормальній формі, або нормальна система. Розв’язком системи називається будь-яка система функцій , що має похідні першого порядку і перетворює рівняння системи в тотожності по . Приклад. Розв’язком системи з початковими умовами є функції Справді . Підставляємо вирази в систему рівнянь, одержимо два тотожних рівняння Рівняння -ого порядку завжди можна звести до системи рівнянь першого порядку. З цією метою позначимо шукану функцію через і приймемо за нові невідомі. Складаємо систему диференціальних рівнянь для функцій . Маємо Тому для функцій одержимо наступну нормальну систему диференціальних рівнянь: причому Таким чином, задача Коші для ЗДР -порядку з відповідними початковими умовами може бути зведена до розв’язку задачі Коші для системи диференціальних рівнянь першого порядку. Праві частини рівнянь цієї системи в програмі, яка реалізує який -небудь чисельний метод, записуються у вигляді підпрограми. Наприклад, для системи ЗДР. Підпрограма буде мати наступний вигляд: Тобто: функція Алгоритм реалізації методу Рунге-Кутта заключається в циклічних обчисленнях значень функцій на кожному кроці по наступних формулах: Або при іншій формі представлення методу: 3.2 Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку Метод Рунге – Кутта четвертого порядку В методі Рунге-Кутта значення функції , як і в методі Ейлера, визначається за формулою Якщо розкласти функцію в ряд Тейлора і обмежитись членами до включно, то приріст можна записати у вигляді Замість того, щоб обчислювати члени ряду за формулою (10) в методі Рунге-Кутта використовують наступні формули. Похибка на кожному кроці має порядок . Таким чином метод Рунге-Кутта забезпечує значно вищу точність ніж метод Ейлера, однак вимагає більшого об’єму обчислень. Деколи зустрічається інша форма представлення методу Рунге-Кутта 4-го порядку точності. Методи з автоматичною зміною кроку Застосовуються в тому випадку, якщо розв’язок потрібно одержати із заданою точністю. При високій точності (похибка ) автоматична зміна кроку забезпечує зменшення загального числа кроків в декілька разів (особливо при розв’язках у вигляді кривих, що сильно відрізняються крутизною). Метод Рунге-Кутта з автоматичною зміною кроку Після обчислення з кроком всі обчислення виконуються повторно з кроком . Після цього порівнюються результати, отримані в точці хn+1 з кроком і . Якщо модуль різниці менший , то обчислення продовжуються з кроком , в іншому випадку крок зменшують. Якщо нерівність дуже сильна, то крок збільшують. Маємо - значення незалежної змінної в точці - значення функції в точці - значення функції в точці , обчислене з кроком - значення функції в точці , обчислене з кроком - значення функції , обчислене з кроком 1) Якщо обчислення повторюються з кроком і т.д., доки не виконається умова . 2) Якщо виконується ця умова, то можливі два варіанти, в залежності від значення K, де K – ознака поділу кроку. Початкове значенняі залишається таким після першого поділу кроку на два. Надалі, якщо крок ділиться, то K приймає значення одиниці. а) Якщо , то навіть коли виконалась умова , крок не змінюється, тобто лишається тим самим (обчислення далі проводяться з попереднім кроком). б) Якщо і виконалась умова , тоді . В обох випадках а) і б) результат виводиться на друк. 3.2 Модифікований Метод Ейлера З метою підвищення точності методу Ейлера використовують різні його модифікації. Суть удосконаленого методу Ейлера полягає в використанні ітераційної формули виду: ,          (9.16) де - значення аргументу х в точці, а - значення функції в точці. Розглянемо диференціальне рівняння           (9.17) з початковою умовою. Потрібно знайти розв’язок рівняння (9.13) на відрізку . Розіб'ємо відрізок на n рівних частин точками, де – крок інтегрування Алгоритм методу складається з: 1. визначення похідної в точці : 2. змінна х за формулою: 3. визначення значення при 4. визначення похідної в точці (,) 5. використовуємо отримане значення для визначення за формулою: , 6. змінюємо 7. повторюємо всі кроки алгоритму, починаючи з першого. Графічна інтерпретація методу представлена на рисунку 9.7.           Рисунок 9.7 – Графічна інтерпретація удосконаленого методу Ейлера Зауваження. Оцінка похибки в точці xі може бути отримана за допомогою "подвійного прорахунку": розрахунок повторюють із кроком h/2 похибка більш точного значення (при кроці h/2) оцінюють приблизно в такий спосіб:                (9.18) де у(х) - точний розв’язок диференціального рівняння. Удосконалений метод Ейлера є більш точним у порівнянні з методом Ейлера та відноситься до методів 3-го порядку точності. 4. Лістинг програм 4.1. Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication77 { class Program { static void Main(string[] args) { RK u = new RK(); u.obchysl(); } } class RK { StreamWriter w = new StreamWriter("output.txt"); const int n = 3; const double Qm = 5, Up = 0.04, Cu = 0.00007, Cw = 0.00002, Id = 0.0000002, In = 0.00005, Km = 30, T = 0.05, ii = 40.0; const double I = Id + In / (ii * ii); double E = 0.001, a, t, Kp = 1000; double[] f = new double[n]; double[] y = new double[n]; int i; public void Func() { f[0] = ((Km * Up * (1 - y[1])) / (Qm * T)) - (y[0] / T); f[1] = (y[2] / ii); f[2] = ((Kp * Cu * y[0]) - (Cw * y[2])) / I; } public void MetodRK(double h) { double[,] K = new double[4, n]; double[] z = new double[n]; Func(); for (i = 0; i < n; i++) { z[i] = y[i]; K[0, i] = f[i]; y[i] = z[i] + (h / 2) * K[0, i]; } t += h / 2; Func(); for (i = 0; i < n; i++) { K[1, i] = f[i]; y[i] = z[i] + (h / 2) * K[1, i]; } Func(); for (i = 0; i < n; i++) { K[2, i] = f[i]; y[i] = z[i] + h * K[2, i]; } t += h / 2; Func(); for (i = 0; i < n; i++) { K[3, i] = f[i]; y[i] = z[i] + (h / 6) * (K[0, i] + 2 * K[1, i] + 2 * K[2, i] + K[3, i]); } } public void obchysl() { double[] y_ = new double[n]; double[] Y1 = new double[n]; double[] Y2 = new double[n]; double[] YN = new double[n]; double b, delta; int v, k = 0; a = t = 0; b = 1.0; y[0] = 0; y[1] = 0; y[2] = 0; do { a = t; delta = 0; for (i = 0; i < n; i++) y_[i] = y[i]; if (k == 0) Console.WriteLine("{0:F6}\t\t{1:F6}", t, y[1]); w.WriteLine("{0:F6}\t\t{1:F6}", t, y[1]); MetodRK(H); for (i = 0; i < n; i++) { Y1[i] = y[i]; y[i] = y_[i]; } t = a; MetodRK(H / 2); for (i = 0; i < n; i++) Y2[i] = y[i]; MetodRK(H / 2); for (i = 0; i < n; i++) { YN[i] = y[i]; if (Math.Abs(YN[i] - Y1[i]) > delta) delta = Math.Abs(YN[i] - Y1[i]); } v = 0; int kk = 0; while (delta > E) { if (kk != 0) v = 1; delta = 0; H = H / 2; for (i = 0; i < n; i++) { y[i] = y_[i]; Y1[i] = Y2[i]; } t = a; MetodRK(H / 2); for (i = 0; i < n; i++) Y2[i] = y[i]; MetodRK(H / 2); for (i = 0; i < n; i++) { YN[i] = y[i]; if (Math.Abs(YN[i] - Y1[i]) > delta) delta = Math.Abs(YN[i] - Y1[i]); } kk++; } for (i = 0; i < n; i++) y[i] = YN[i]; Console.WriteLine("{0:F6}\t\t{1:F6}", t, y[1]); w.WriteLine("{0:F6}\t\t{1:F6}", t, y[1]); if ((delta < E) && (v == 0)) H *= 2; k++; } while (t < b + H / 2); Console.ReadKey(); } } } 4.2. Модифікований Метод Ейлера using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication6 { class Program { static void Main() { Exe o = new Exe(); o.vvid(); o.count(); Console.ReadKey(); } } class Exe { const int n = 3; const double Qm = 5, Up = 0.04, Cu = 0.00007, Cw = 0.00002, Id = 0.0000002, In = 0.00005, Km = 30, T = 0.05, ii = 40; const double I = Id + In / (ii * ii); double Kp = 1000, Qv = 1; int i; public double a, b, t; public double h; Double[] f1 = new Double[n]; Double[] f2 = new Double[n]; Double[] y = new Double[n]; Double[] yn1 = new Double[n]; Double[] yn2 = new Double[n]; public void vvid() { Console.Write("\n\nВведiть межi: \n"); Console.Write("a = "); a = t = Convert.ToDouble(Console.ReadLine()); Console.Write("b = "); b = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введiть похибку"); Console.Write("h = "); h = Convert.ToDouble(Console.ReadLine()); } public void F(Double[] f, Double[] Y) { try { f[0] = ((Km * Up * (1 - y[1])) / (Qm * T)) - (y[0] / T); f[1] = (y[2] / ii); f[2] = ((Kp * Cu * y[0]) - (Cw * y[2])) / I; } catch (IndexOutOfRangeException ex) {Console.WriteLine("{0} \nЗнайдено Виняток!!!", ex); }; } public void count() { a = t = 0; f1[0] = 0; f1[1] = 0; f1[2] = 0; //f1[3] = 0; f2[0] = 0; f2[1] = 0; f2[2] = 0; //f2[3] = 0; y[0] = 0; y[1] = 0; y[2] = 0; //y[3] = 0; StreamWriter w = new StreamWriter("output.txt"); do { F(f1, y); for (i = 0; i < n; i++) yn1[i] = y[i] + h * f1[i]; F(f2, yn1); for (i = 0; i < n; i++) { yn2[i] = y[i] + 0.5 * h * (f1[i] + f2[i]); y[i] = yn2[i]; } if (Qv % 10 == 0) { Console.WriteLine("{0}\t{1}", t, yn2[1]); w.WriteLine("{0}\t{1}\n", t, yn2[1]); } t += h; Qv++; } while ((b + h / 2) > t); w.Close(); } } } 5.Результати виконання програми 5.1. Метод Рунге-Кутта 4-го порядку з автоматичною зміною кроку 5.2. Модифікований Метод Ейлера 6.Графіки Графік, отриманий методом Рунге-Кутта 4-го порядку Графік, отриманий модифікованим методом Ейлера 7. Висновок В даній роботі розглянуто застосування методу Рунге-Кутта 4-ого порядку з автоматичною зміною кроку та модифікованого методу Ейлера з автоматичною зміною кроку для дослідження системи статичного слідкування за швидкістю задаючого вала. Коефіцієнт підсилення електронного підсилювача досліджено експериментально, і виявлено що він становить 1000. Можна зробити висновок, що методи забезпечують майже однакову точність, однак Рунге-Кутта 4-ого порядку вимагає більшого об’єму обчислень, а завдяки автоматичній змінні кроку можна досягти зменшення загального числа кроків в декілька разів. Графіки уточнень побудовані в середовищі Exel 2013. 8.Список використаної літератури Вычислительные методы алгебры и оценивания: учебное пособие / И.В. Семушин. — Ульяновск: УлГТУ, 2011. — 366 c. ISBN 978-5-9795-0902-0 Панчук В. І. Навчальна програма дисципліни “Чисельні методи математичної фізики” (для бакалаврів). — К.: ДП «Вид. дім «Персонал», 2010. — 15 с. С.Ромашко Конспект лекцій з дисципліни “Комп’ютерні мережі і телекомунікації” Методичні вказівки до вивч. дисципліни та викон. лабор. і контр. робіт для студ. напряму підготовки 6.050101 «Комп`ютерні науки» ден. та заочн. форм навчання Уклад.: О.А Хлобистова, Н.Н. Бровченко – К.: НУХТ, 2009 – 38с
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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