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

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

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

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

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

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи №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; } РЕЗУЛЬТАТ / / Висновок: виконуючи цю роботу, я вивчив методи наближення нелінійних характеристик елементів систем керування поліноміальними функціями, а саме: поліноми Лагранжа, Тейлора та кубічні сплайни; навчився записувати програми у вигляді універсальних процедур для апроксимації нелінійних характеристик.
Антиботан аватар за замовчуванням

08.12.2013 17:18

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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