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

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

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

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

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

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

Мінстерство освіти і науки України Національний університет «Львівська політехніка» ІМФН каф.ОМП Розрахунково-графічна робота тема: «Хвильові дискретні перетворення» Виконали: ст. гр. ХІ-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:13

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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