Варіант 58. Метод: Рунге-Кутта (формули г)). Дані параметрів схеми: Апроксимація залежності виконується з вибором розрахункової формули
де - кубічний сплайн. Напруга живлення задана на рисунку, де . ПРИ ВИКОНАННІ КУРСОВОЇ РОБОТИ НЕОБХІДНО ВИКОНАТИ НАСТУПНІ ПУНКТИ: Записати систему алгебро-диференціальних рівнянь стану наведеної - ланки. Звести систему диференціальних рівнянь до нормальної форми Коші. Для схем з нелінійною індуктивністю виконати апроксимацію функції . Вивести вираз для визначення вихідної напруги якщо вона не визначається безпосередньо з диференціальних рівнянь. Скласти програму розв’язування системи диференціальних рівнянь вказаним у завданні числовим методом. Результати розрахунку для напруг на конденсаторах, струмів індуктивностей, вихідної напруги та вхідної напруги записати у текстовий файл з розширенням dat (наприклад rezult.dat). В цьому ж файлі має бути також записаний біжучий час. Числове інтегрування виконати на інтервалі 5 періодів вхідної напруги . Дискретність друку 100 точок на період, а крок інтегрування , де Т – період напруги живлення . З допомогою програми GRAFER побудувати графіки часових залежностей напруг на конденсаторах, струмів індуктивностей, вихідної напруги та вхідної напруги . За отриманими результатами зробити висновки. Теоретичні відомості Для розв’язування систем звичайних диференціальних рівнянь використовуються методи Рунге-Кутта, які наведені в таблиці: a)
б)
в)
г)
д)
Поліноміальна апроксимація нелінійних характеристик елементів На практиці досить часто нелінійні характеристики елементів систем керування визначаються емпіричним шляхом, а тому задаються в табличному вигляді. Це означає, що нелінійні характеристики задаються лише декількома дискретними значеннями аргументу і функції. В подальших розрахунках, при аналізі режимів роботи цих елементів, нам необхідно мати їх неперервні характеристики. Для цього треба підібрати аналітичну функцію, яка б відображала емпіричну залежність. Найбільш зручною на практиці функцією є алгебричний поліном. Щоб його задати необхідно визначити певне число його коефіцієнтів. Широке застосування поліномів обмовлене тим, що від нього легко взяти похідну, обчислити інтеграл і т.д. Кубічний сплайн Останнім часом в теорії апроксимації широкого використання набули сплайни (spline-рейка, пружний брусок), які дозволяють в деякій мірі усунути недоліки класичних методів наближення. Гладкість і гнучкість сплайнів обумовлює їх широке використання в машинній графіці, САПР, а також в математиці. Сплайни мають ряд переваг: простота реалізації на ЕОМ; висока точність апроксимації одночасно і функції і її похідних; в ряді випадків дозволяють отримати наближення з мінімально можливою похибкою на даному класі функцій (порівняно з іншими методами). У випадку коли ми хочемо виконати апроксимацію функції заданої у вигляді таблиці, дуже часто використовують сплайн-функції, а найбільш поширеним є кубічний сплайн. Він дозволяє виконати апроксимацію функції за двома точками та значеннями похідних в цих точках. Таким чином, така апроксимація забезпечує проходження функції через задані точки з заданим нахилом. Цей підхід виявися дуже практичним, бо дозволяє розбивати табличну функцію на частини і отримувати неперервну і гладку апроксимацію. Гладкість даної апроксимації забезпечується фіксацією першої похідної в усіх заданих точках апроксимації. Невисока степінь полінома спрощує обчислення і зменшує похибку обчислення. Формула кубічного сплайну має вигляд (1) де - кубічний сплайн; - табличні значення функції; - крок сплайну; - значення похідних в точках апроксимації. Наведемо вирази для коефіцієнтів сплайну (2) де - табличні значення аргументу. Крок сплайну слід визначати за формулою . Лістинг програми #include "stdafx.h" #include "fstream" #include "iostream" #include "math.h" using namespace std; const double a=0.1,T=a; const double C2=2e-3, L2=2, R1=23, R2=3, R3=33; //параметри кр.магагнечення const double i_min=1,i_max=2,Lmax=1,Lmin=0.1; //функція кривої намагнечення -- куб. сплайн double L_i(double i) //Кубічний сплайн { double b1,b2,b3,b4,m1,h; h=i_max-i_min; m1=Lmax/i_min; i=fabs(i); if (i<=i_min) return Lmax; if (i>=i_max) return Lmin; b1=(2*(i-i_min)+h)*(i_max-i)*(i_max-i); b2=(2*(i_max-i)+h)*(i-i_min)*(i-i_min); b3=(i-i_min)*(i_max-i)*(i_max-i);
Рис. 7. Графік вихідної напруги U2 Висновок: В курсовій роботі було досліджено перехідний процес нелінійної RCL-ланки шляхом комп’ютерного симулювання. Програма аналізу перехідного процесу цього пристрою написана мовою С++. Результати аналізу наведені на графіках (рис. 1-7).