- •Методичні рекомендації до вивчення дисціпліни "Комп’ютерне моделювання електронних схем, конструкцій та технологій електронних апаратів"
- •1.Загальні питання
- •2.Визначення полюсів схемних функцій
- •2.1.Метод дихотомії
- •2.2.Метод хорд
- •2.3.Метод дотичних
- •2.4.Пошук комплексних коренів нелінійних рівнянь
- •3.Визначення коефіціентів чутливості
- •3.1.Розрахунок перших частинних похідних функції
- •3.1.1.Схема 2т чисельного диференціювання
- •3.1.2.Схема 3т чисельного диференціювання
- •3.2.Розрахунок власних частинних похідних другого порядку
- •3.3.Розрахунок взаємних похідних другого порядку
- •4.Визначення міри відповідності характеристик реа
- •4.1.Метод прямокутників
- •4.2.Метод трапецій
- •4.3.Метод Симпсона
- •5.Модедювання радіоелектронних апаратів системами рівнянь
- •5.1.Метод Гауса
- •5.1.1.Розв’язання систем алгебраїчних рівнянь методом Гауса
- •5.1.2.Обчислення визначника матриці методом Гауса
- •5.1.3.Обернення матриці методом Гауса
- •5.2.Метод Жордана
- •5.2.1.Обернення матриці методом Жордана
- •5.3.Метод lu-факторизації
- •5.4.Метод опорного елементу
- •6.Ітераційні методи розвяЗувАння систем лінійних рівнянь
- •6.1.Метод Якобі
- •6.2.Метод Гауса-Зейделя
- •6.3.Метод послідовної верхньої релаксації
- •7.Моделюванні статичного режиму радіоелектронних засобів
- •7.1.Метод простої ітерації
- •7.2.Метод Ньютона
- •2.3 Метод продовження параметру
- •8.Інтерполяція та наближення кривими
- •8.1.Метод невизначених коефіціентів
- •8.2.Регресійний аналіз. Метод найменших квадратів
- •8.2.1.Лінійна регресія
- •8.2.2.Квадратична регресія
- •9.Розв’язання звичайних диференційних рівнянь
- •9.1.Постановка задачі
- •9.2.Метод Ейлера
- •9.3.Метод Ейлера-Коші
- •9.4.Метод Рунге-Кутта
- •Перелік літератури
2.4.Пошук комплексних коренів нелінійних рівнянь
Схемні функції РЕА – це відношення полілінійних функцій комплексної частоти р = j [8, 9, 10]. Загальний вигляд частотної характеристики РЕА визначається сукупністю нулів (коренів чисельника) та полюсів (коренів знаменника) схемної функції.
Нехай Р= аnрn + an-1р n-1 + …+ a1р + a0 – поліном n-го степеня комплексної змінної р = + j . Тоді якщо р = рk = k + jk - не є коренем цього поліному, то останній в точці р матиме відмінні від нуля дійсну та уявну частини, які треба звести до нуля. Одним із найефективніших методів пошуку коренів функції комплексної змінної є метод Ньютона [8]. Чергове наближення до кореня на k-ій ітерації розраховується відповідно до матричного рівняння:
(k) |
= |
(k-1) |
+ |
|
, |
(k) |
(k-1) |
|
де вектор прирощень визначається із системи рівнянь
Re(P)/ |
Re(P)/ |
|
|
= - |
Re(P) |
. (2.1) |
Im(P)/ |
Im(P)/ |
|
Im(P) |
Розрахунки закінчуються, коли та < 1.
Задача 2.4. Побудувати розрахунковий процес для пошуку кореня полінома Р= р2 + р + 1,25.
Розв’язок. Нехай рk = + j - корінь поліному, що шукають. Тоді система (2.1) для заданого поліному:
2 +1 |
-2 |
|
|
= - |
(2 - 2)+ +1,25 |
. |
2 |
2 +1 |
|
(2+1) |
Результати пошуку кореня полінома із точки р0 = -0,4+ j0.9 наведені в таблиці.
K |
(k-1)/(k-1) |
|
Розширена матриця коефіціентів системи |
|
/ |
||
|
/d |
/d |
-Rе / -Im |
||||
1 |
-0.4 |
dRе/ |
0.2 |
-1.8 |
-0.2 |
3.2800 |
-0.11098 |
0.9 |
dIm/ |
1.8 |
0.2 |
-0.18 |
0.09878 |
||
2 |
-0.51098 |
dRе/ |
-0.02195 |
-1.99756 |
-0.00256 |
3.9907 |
0.01099 |
0.99878 |
dIm/ |
1.99756 |
-0.02195 |
0.02192 |
0.00116 |
||
3 |
-0.49999 |
dRе/ |
2.55E-05 |
-1.99988 |
-0.00012 |
3.9995 |
-1.3E-05 |
0.99994 |
dIm/ |
1.99988 |
2.55E-05 |
-2.5E-05 |
5.97E-05 |
||
4 |
-0.5 |
dRе/ |
0 |
-2 |
0 |
4 |
0 |
1 |
dIm/ |
2 |
0 |
0 |
0 |
Таким чином, корінь р1 = -0,5+j1 поліному Р= р2 + р + 1,25 з точністю =0,001 із точки (-0.4, 0.9) знайдено за 4 ітерації.
Текст програми Root_Newton_С, що реалізує пошук комплексного кореня полінома Р= р2 + р + 1.25 методом Ньютона із точки р0 = -0.7+ j0.7 та розв'язанням системи алгебраїчних рівнянь за правилом Крамера наведено нижче:
Program Root_Newton_С;{ пошук кореня методом дотичних }
uses CRT;
const e= 0.00001; { equrec }
k: integer= 1; { iterac }
var i, j: integer;
det, { determin }
sg, w, { root }
dsg, dw: real; { step }
A: array [1..2,1..3] of real; { work massyv}
Procedure Form_A;
Begin
A[1,1]:=2*sg+1; A[1,2]:=-2*w; A[1,3]:=-(sg*sg-w*w+sg+1.25);
A[2,1]:=2*w; A[2,2]:=A[1,1]; A[2,3]:=-w*2*sg+1)
End;
BEGin
ClrScr;
writeln(' metod Newtona for complex root');
sg:=-0.7; w:=0.7;
repeat
Form_A;
writeln('k=',k:2,' dsg=',dsg:7:4,' dw=',dw:7:4,
' sg=', sg:7:4,' w=', w:7:4);
for i:=1 to 2 do
begin for j:=1 to 3 do write(' ',A[i,j]:9:3);
writeln
end;
det:= A[1,1]*A[2,2]-A[1,2]*A[2,1];
dsg:=(A[1,3]*A[2,2]-A[1,2]*A[2,3])/det;
dw:= (A[1,1]*A[2,3]-A[1,3]*A[2,1])/det;
sg:=sg+dsg; w:=w+dw;
inc(k);
until sqrt(dsg*dsg+dw*dw)<e;
writeln; write('Press "Enter": ');
readln
END.
Результати пошуку комплексного кореня за допомогою згаданої програми наведені в таблиці.
k |
(k-1)/(k-1) |
|
Розширена матриця коефіціентів системи |
|
/ w |
||
|
/d |
/dw |
-Rе / -Im |
||||
1 |
-0,7 |
dRе/ |
-0,400 |
-1,400 |
0,550 |
2,120 |
0,28868 |
0,7 |
dIm/ |
1,400 |
-0,400 |
-0,280 |
0,31038 |
||
2 |
-0,4113 |
dRе/ |
0,177 |
-2,021 |
-0,013 |
4,115 |
-0,08744 |
1,0104 |
dIm/ |
2,021 |
0,177 |
0,179 |
-0,01411 |
||
3 |
-0,4988 |
dRе/ |
0,002 |
-1,993 |
0,007 |
3,970 |
-0,00124 |
0,9963 |
dIm/ |
1,993 |
0,002 |
0,002 |
0,00374 |
||
4 |
-0.5 |
dRе/ |
0,000 |
-2,000 |
0 |
4,000 |
0,00000 |
1 |
dIm/ |
2,000 |
0,000 |
0 |
-0,00001 |
Таким чином, корінь р1 = -0,5+j1 поліному Р= р2 + р + 1,25 з точністю =0,00001 із початкової точки р= -0.7 + j 0.7 знайдено за 4 ітерації.