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

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

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

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

Поліноміальна апроксимація нелінійних характеристик елементів

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

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

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

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Моделювання процесів та елементів систем керування
Група:
КН-31
Коротко про документ

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

У звіті досліджено методи апроксимації нелінійних характеристик елементів систем керування за допомогою кубічних сплайнів. Наведено теоретичні відомості, завдання та результати реалізації програми на C++.

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

  • Поліноміальна апроксимація
  • Нелінійні характеристики елементів
  • Системи керування
  • Кубічні сплайни
  • Поліноми Лагранжа
  • Поліноми Тейлора
  • Моделювання процесів

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

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

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

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

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи №1 з дисципліни «Моделювання процесів та елементів систем керування» тема: «Поліноміальна апроксимація нелінійних характеристик елементів» Мета роботи – вивчити методи наближення нелінійних характеристик елементів систем керування поліноміальними функціями, а саме: поліномами Лагранжа, Тейлора та кубічними сплайнами; навчитися записувати програми у вигляді універсальних процедур для апроксимації нелінійних характеристик. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ У випадку коли ми хочемо виконати апроксимацію функції заданої у вигляді таблиці дуже часто використовують сплайн-функції, а найбільш поширеним є кубічний сплайн. Він дозволяє виконати апроксимацію функції за двома точками та значеннями похідних в цих точках. Таким чином, така апроксимація забезпечує проходження функції через задані точки з заданим нахилом. Такий підхід виявися дуже практичним бо дозволяє розбивати табличну функцію на частини і отримувати неперервну і гладку апроксимацію. Гладкість даної апроксимації забезпечується фіксацією першої похідної в усіх заданих точках апроксимації. Якщо розглянути сплайн-функцію 5-го порядку, тоді можна ще зафіксувати і значення другої похідної в точках апроксимації. Це забезпечить гладкість функції за першою похідною. Формула кубічного сплайну має вигляд  (7) де  - кубічний сплайн;  - табличні значення функції;  - крок сплайну;  - значення похідних в точках апроксимації. Наведемо вирази для коефіцієнтів сплайну  (8) де  - табличні значення аргументу. Між іншим, крок сплайну слід визначати за формулою . ЗАВДАННЯ ДЛЯ ЛАБОРАТОРНОЇ РОБОТИ  – кубічний сплайн (див. вирази (7), (8)) N п/п       13 0.25 1.1 0.75 37 110   ТЕКСТ ПРОГРАМИ // лаба 1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "fstream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { fstream File("data.txt",ios_base::out|ios_base::trunc); double b1, b2, b3, b4; double f1=0.25, f2=1.1, i1=0.75, i2=37, m2=110, m1=3, h=0.85; double i , di, db1, db2, db3, db4; for(double f=0; f<=1.1*0.7; f+=0.001) { if(f<=f1) { i=m1*f;di=m1; } if(f>f1&&f<f2) { b1=(2*(f-f1)+h)*(f2-f)*(f2-f); b2=(2*(f2-f)+h)*(f-f1)*(f-f1); b3=(f-f1)*(f2-f)*(f2-f); b4=(f-f2)*(f-f1)*(f-f1); i=((b1*i1+b2*i2)/(h*h*h))+((b3*m1+b4*m2)/(h*h)); /*db1=2.42-6*(f*f)-f-1.7*f; db2=4.4*f-6*(f*f)+1.7*f+0.125; db3=1.21-3*(f*f)+0.25; db4=3*(f*f)-2.2*f-0.0625;*/ db1=(2*(f2*f2))-(4*f2*f1)+(2*(f1*f1)); db2=(4*f2*f)-(6*(f2*f2))+(2*h*f)-(4*f2*f1)+(8*f1*f)-(2*h*f1)-(2*(f1*f1)); db3=(2*f2)-(4*f2*f)+(2*f2*f1)+(3*(f*f))-(2*f1*f); db4=(3*(f*f))-(2*f2*f)-(4*f1*f)-(2*f2*f1)+(f1*f1); di=((db1*i1+db2*i2)/(h*h*h))+((db3*m1+db4*m2)/(h*h)); } if(f>f2) { i=m2*f+i2-m2*f2; di=m2; } cout<<f<<" "<<i<<" "<<di<<endl; File<<f<<" "<<i<<" "<<di<<endl; } File.close(); return 0; } РЕЗУЛЬТАТ / / Висновок: виконуючи цю роботу, я вивчив методи наближення нелінійних характеристик елементів систем керування поліноміальними функціями, а саме: поліноми Лагранжа, Тейлора та кубічні сплайни; навчився записувати програми у вигляді універсальних процедур для апроксимації нелінійних характеристик.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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