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