Хвильові дискретні перетворення

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

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

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

Рік:
2016
Тип роботи:
Лекція
Предмет:
Інформатика та обчислювальна техніка

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

Мінстерство освіти і науки України Національний університет «Львівська політехніка» ІМФН каф.ОМП Розрахунково-графічна робота тема: «Хвильові дискретні перетворення» Виконали: ст. гр. ХІ-11 Тріль Іван Соловій Андрій Перевірив: стар. викл. каф.ОМП Хімка У.Т. Львів-2016 ЗМІСТ 2 7. Розв’язування алгебраїчних рівнянь Лінійні рівняння Для розв’язання системи лінійних алгебраїчних рівнянь у пакеті Mathcad передбачено введення за таким порядком: – задати початкові довільні значення змінних; – ввести ключове слово GIVEN; – ввести систему рівнянь з символом “=” (логічне дорівнює); – активізувати розв’язання за допомогою функції Minerr. Наприклад: розв’язати систему рівнянь і знайти значення змінних A, B, C, D, E. Виконання завдання в пакеті Mathcad: A := 1 B := 1 C := 1 D := 1  E := 1  – призначення довільних       початкових значень змінних;                 Given      – введення ключового слова процедури;  A + B + D   0                                 −2.06 ⋅ A + C − .3 ⋅ B + E − 1.73 ⋅ D  0  – введення рівнянь              0.4 ⋅ A   0.72                   (символ “=” – з блока                          −1.07 ⋅ A + .21 ⋅ C + 2.16 ⋅ E   0.72    логічних операцій);                             2.9 ⋅ A − .3 ⋅ C + .21 ⋅ B − 1.7 ⋅ E + 2.16 ⋅ D  0                    1.8    Z := Minerr ( A , B ,C ,D ,E)   −0.378          – розв’язання за                        Z =  −0.1  допомогою            −1.422  функції Minerr.                           1.235     Функція Minerr дає можливість розрахувати наближені значення коренів. Для одержання точних значень замість Minerr застосовують Find. 3 1.6 Інший спосіб полягає у застосуванні скалярного добутку зворотної матриці коефіцієнтів з матрицею правих частин векторного рівняння:  А1•Х1=В1   – векторна форма системи рівнянь;   1 1 0  1 0     0     −2 0.3 1  −1.7 1     0            – матриця B1    – матриця  A1 := 2.9 0.21 −0.3 2.1 −1.7  коефіцієнтів;   0  правих   −1.1 0 0.21 0 2.1     0.72                частин;                  0.45 0 0  0 0     0.72   X1 := A1− 1 ⋅ B1  – формула розв’язування матричного рівняння;    1.6               −0.391                          X1 = 0.091   – результат.         −1.209                                         1.172             Спосіб має варіант використання стандартної функції lsolve з двома параметрами. Перший – матриця коефіцієнтів, а другий – матриця правих частин: −0.391       lsolve( A1 , B1) = 0.091    −1.209        1.172 .   Нелінійні рівняння Для розв’язку системи нелінійних рівнянь використовують аналогічні процедури. Наприклад: розрахувати координати точок перетину лінії y=8+3x з параболою у=х2. Попереднім аналізом графіків (рис.12) встановлено дві такі точки. Одна при x<0, а друга – при x>0. Для розрахунку параметрів першої точки виконуються такі дії: x := 0 y := 0      – попередні значення змінних;  Given y  x2 y  8 + 3 ⋅ x x < 0 – блок рівнянь з умовою;                      z := find ( x , y) z =  −1.702  – одержання результату.     2.895    Аналогічно для другої точки:   x  3   y  0    – попередні значення змінних;   4 Given y  x2 y  8 + 3 ⋅ x x > 0 – блок рівнянь з умовою;                        4.702  – одержання результату.  z  find( x  y)  z  22.105          Рис.12 Для визначення кореня нелінійного алгебраїчного рівняння використовують функцію root за схемою: (початкове значення змінної) root ( рівняння або його ім’я, ім’я змінної). Функція може застосовуватися стільки разів, скільки коренів має рівняння. Для визначення наступного кореня степінь алгебраїчного рівняння зменшується на одиницю. Наприклад, маємо кубічний поліном змінної х з постійними коефіцієнтами: . Поліном має три корені, що вимагає триразового застосування процедури. Для визначення коренів необхідно задати значення коефіцієнтів. Наприклад:  . Із трьох коренів один обов’язково дійсний. Його можна визначити у два етапи: Задати довільне початкове значення змінної: х=0. Застосувати процедуру з отриманням результату:  . Після визначення першого кореня необхідно змінити функцію полінома, розділивши F(x) на (х – х1) : . Решта коренів може бути комплексними, що вимагає іншого за формою початкового значення. Наприклад: , де  . 31 За таких умов:  ; . Для третього кореня . ; . Лінійне програмування Лінійне програмування – це розв’язок системи алгебраїчних рівнянь, до яких додається цільова функція за допомогою функції Minimize (Maximize). Цільова функція повинна набути мінімального або максимального значення. Приклад: Необхідно одержати максимальний прибуток за таких умов виробництва: Виготовити 100 одиниць продукції типу х1, х2, х3. Виробів кожного типу повинно бути не менше 20 одиниць. Витрати сировини першого сорту на одиницю продукції 4, 3 або 2 кг при загальному запасі 340 кг. Витрати сировини другого сорту на одиницю продукції 5, 10 та 3 кг при загальному запасі 700 кг. Одиниця продукції різних типів коштує відповідно 4, 3 або 2 грн. Функція прибутку (цільова функція у даному випадку) може мати форму  . Варіант програми розв’язку задачі: – довільні початкові значення; – ключове слово; – блок умов; – одержання оптимального результату з визначенням кількості виробів кожного типу. 34 Інтегрування диференційних рівнянь Зміст: Інтегрування: – за допомогою функції Odesolve; – за методом Рунге-Кутта першого порядку (Ейлера); – за методом Рунге-Кутта другого порядку; – за допомогою функції rkfsxed. Методичні вказівки. Функція Odesolve разом із блоком Given дозволяє інтегрувати окреме диференціальне рівняння. Формат функції , де х – ім’я змінної; b – кінцеве значення аргументу; steps – кількість фіксованих кроків інтегрування. Дозволяється steps не визначати, що автоматично встановлює режим інтегрування з адаптивним кроком. Блок Given розміщується перед зверненням до Odesolve і складається з рівняння та початкових умов. Наприклад: Given         y'' ( t) + t2 ⋅ y' ( t) + t ⋅ y ( t)  sin( t) – диференціальне рівняння;              y ( 0)  −8 y' ( 0)   3   – початкові умови;                        y := odesolve( t , 6)      – функція з кінцевими умовами та           адаптивним кроком.   У прикладі використано символ диференціювання як штрих у верхньому регістрі. Для введення символу застосовують клавішу з позначеннями:  . Процес розрахунків зручно аналізувати за графіком 35 Залежність змінної від аргументу визначається процесом, що має назву інтегрування. Числове інтегрування передбачає використання рекурентної формули з розрахунками по кроках. На кожному кроці до попереднього значення функції уі, додається прирощення уі: уі = уі-1 + уі . Алгоритми числового інтегрування часто використовують методи Рунге-Кутта, що є варіантами визначення уі. Метод першого порядку (метод Ейлера) визначає прирощення як добуток кроку аргументу hі = хі – хі-1 та першої похідної функції у цьому інтервалі уIі(хі-1,уі-1): уі = hі*уI і(хі-1,уі-1) . Запис уIі(хі-1,уі-1) означає, що похідна для і-го інтервалу залежить від початкових (у межах інтервалу) значень аргументу хі-1 та функції уі-1 . Таку залежність одержують з формули диференціального рівняння. Наприклад, маємо рівняння: . Розв’язок рівняння відносно першої похідної називають перетворенням до нормальної форми Коші: , де u – змінна; t – аргумент; ur(u) – керуюча дія; k1, k2 – коефіцієнти. Програма інтегрування рівняння методом Ейлера з використанням програмного блока у пакеті Mathcad може бути такою: n := 10 - кількість розрахунків; ur(u) := 2 - керуюча дія;    –     –  dt := 0.5 - інтервал аргументу (часу);     –       k1 := 1 k2 := 1 un := 0 - коефіцієнти та початкові умови;       0 –            F(u) :=   1  - функція похідних;     ur(u)⋅k1 − u1⋅k2 –     y 〈 0〉     Y :=   ← un  - програмний блок    for i∈ 1.. n  – з циклом розрахунків.           y 〈 i〉  ← F y 〈 i− 1〉 ⋅dt + y 〈 i− 1〉     yT        36 Для розміщення результатів у програмному блоці використовують матрицю з іменем Υ. Матриця має дві колонки та n рядків з поточними номерами і. Похідна має ім’я F. Аргументом розрахунків є час з фіксованим кроком dt. Значення функції похідної з іменем F залежать від значень елементів матриці u, що є складовими матриці результатів Υ. Так уводиться залежність похідних від змінних інтегрування. Рядок матриці Υ під номером 0 (вектор uO) виконує функцію лічильника часу (підсумовує інтервали dt). У колонці під номером 1 (вектор u1) розміщуються поточні значення інтеграла. Початкові значення Υ вводяться через матрицю un за умови і=0. У поточних розрахунках програма одночасно звертається до двох колонок матриці Υ із застосуванням формули інтегрування до кожної колонки незалежно. Номер колонки визначається у трикутних дужках верхнього регістра. Значення змінних у поточній колонці з номером і розраховується як сума значень у попередній колонці за номером і-1 та добутку значень похідних з кроком аргументу dt. Матриця результатів Υ може мати такий вигляд: У програмному блоці матриця результатів транспонується (рядки стають колонками) для зручності обробки результатів. Розрахунки зручно аналізувати у графічній формі (рис. 13), завдяки чому можна дати оцінку похибкам розрахунків за методом Ейлера порівняно з розрахунками за формулою експоненти e(k): Рис. 13 37 Метод Рунге-Кутта другого порядку визначає прирощення за загальною формулою у = р1k1 + p2 k2, де k1 = h*F(x, y); k2 = h*F(x+αh, y+βh). Коефіцієнти р1, р2, α, β зв’язані системою рівнянь р1 + р2 =1; р2α = 0,5; р2β = 0,5. Їх конкретні значення залежать від певних умов. Наприклад, за умови α = β =1 маємо  k1 = h*F(x, y); k2 = h*F(x + h, y + k1); y = 0,5 (k1 + k2).   Відповідний алгоритм розрахунків у межах кроку інтегрування: Розраховується k1 як добуток кроку аргументу h (у попередньому прикладі позначалось dt) із значенням похідної F як функції попередніх значень аргументу (х) та функції (у). Розраховується k2 як добуток кроку аргументу h із значенням похідної F як функції змінених значень аргументу (х + h) та функції (y + k1). 3. Розраховується прирощення y як півсума k1 та k2.  За умови α = β = 0,5 матимемо   k1 = h*F(x, y); k2 = h*F(x + 0,5h , y + 0,5 k1); y = k2. Алгоритм цього варіанта у межах кроку інтегрування: Розраховується k1 як добуток кроку аргументу h та похідної F у функції попередніх значень аргументу (х) та функції (у). Розраховується k2 як добуток кроку аргументу h та похідної F у функції змінених значень аргументу (х + 0,5h) та функції (y + 0,5k1). Прирощенню y присвоюється значення k2. Варіант програми інтегрування за таким алгоритмом: Програмний цикл for включає два рядки. У першому розраховується уі =k1+ уі, а в другому уі = k2 + уі-1. 38 Для числового інтегрування систем диференціальних рівнянь у пакеті Mathcad передбачено зручні вбудовані функції (rkfіxed, Rkadapt, rkadapt,...). Функція rkfіxed забезпечує інтегрування з фіксованим кроком аргументу. Режим є доцільним для дослідження нелінійних систем електропривода з стрибками значень похідних. Функція має формат rkfіxed(nu, x1, x2, N, F), де nu – вектор початкових умов; x1 – початкове значення аргументу; x2 – кінцеве значення аргументу; N – кількість кроків аргументу; F – ім’я вектора-функції похідних. Параметри зазначеної функції мають обмеження: Кількість рядків у векторах nu та F повинна бути однаковою і дорівнювати кількості похідних; вектор F повинен мати два або більше параметрів. Перший такий параметр – формальне ім’я аргументу, другий – формальне ім’я матриці змінних; функція rkfіxed створює матрицю результатів, транспоновану до формальної матриці змінних. Номери змінних у матриці результатів починаються з цифри, яку визначає системна змінна ORIGIN (за умовчуванням ORIGIN =0). Приклад: – сигнали керування; – вектор початкових умов; – функція похідних ( t – формальне ім’я аргументу, u – формальне ім’я матриці змінних; – одержання матриці результатів. Матриця результатів та графіки матимуть такий вигляд: 39 Хвильові дискретні перетворення Зміст: Виконати дискретні перетворення з базисом Даубечіса над функцією з випадковою складовою. Виконати дискретні перетворення з базисом Даубечіса над імпульсом. Методичні вказівки. Дискретне хвильове перетворення з базисом Даубечіса (Daubechies) аналогічне перетворенню Фур’є з обмеженою кількістю гармонік і може розглядатися як приклад фільтрації сигналу. Базис Фур’є – це сума синусоїд різних частот, амплітуд та фаз. Базис Даубечіса – це сума прямокутних форм, що дає можливість обробляти дискретні сигнали з меншими похибками. Дискретне хвильове перетворення спрощує спектральний аналіз функції з випадковою складовою. Наприклад, маємо функцію  . Для хвильового перетворення функцію необхідно підготувати як вектор з кількістю елементів 2m-1: . Складові перетворення одержують після використання вбудованої функції wave у вигляді вектору . Тепер можна будувати спектрограму: – обмеження кількості гармонік для спектрограми. 44 Завдяки зворотному перетворенню вбудованою функцією можливо одержати дискретні значення первинної функції: Дискретне хвильове перетворення імпульсу має специфіку. Наприклад, імпульс задано таким чином: – параметри; – функція. Пряме перетворення функції виконується за стандартною формою: . Коефіцієнти перетворення H – це складові матриці w. Для їх вилучення використовують таку програму: 45 . Графіки за розрахунками: Якщо обмежитися п’ятьма складовими функції w та застосувати зворотне перетворення , матимемо відновлену функцію та її графік: Методичні вказівки до виконання лабораторних та самостійних робіт з дисципліни “Обчислювальна техніка в розрахунках електромеханічних систем ” (пакет MathCAD) для студентів напряму 0922 Електромеханіка / Упоряди.: В.А. Бородай, В.Е. Воскобойник. – Дніпропетровськ: Національний гірничий університет, 2003. – 64с.
Антиботан аватар за замовчуванням

19.02.2017 20:02-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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