описує криву, яка називається кривою Михайлова (характеристична крива). Вона симетрична щодо осі.
Критерій Михайлова: якщо при зміні характеристична крива проходить послідовно квадрантів в позитивному напрямку, то така система стійка (- ступінь характеристичного рівняння).
Для побудови характеристичної кривої:
Побудувавши криву Михайлова ми бачимо що система перетинає послідовно 3 квадранта для полінома третього порядку, то за критерієм Михайлова система стійка.
Критерій стійкості Вишнеградський
Умова стійкості:
) Позитивність всіх коефіцієнтів характеристичного рівняння;
2).
.
Перевіримо на стійкість за допомогою критерію стійкості Вишнеградський
, 02 gt; 0; 0.274 gt; 0; 0.38 gt; 0; 1 gt; 0; (0.274 * 0.38-0.02 * 1) gt; 0;
A * B gt; 1;
За критерієм Вишнеградський система стійка.
Висновок:
Визначення стійкості по корінню характеристичного рівняння: для стійкості системи необхідно і достатньо, щоб коріння характеристичного рівняння мали негативну речову частину, або ж речова частина комплексно-сполученого кореня. Визначення стійкості по корінню характеристичного рівняння для 3-го і 4-го порядку скрутно, а для 5-го і більш високого порядку рівнянь аналітично не вирішується, для визначення стійкості є так звані критерії стійкості, які дозволяють, не вирішуючи ДУ, визначити стійкість. Ці критерії визначають знак коренів характеристичного рівняння, що не обчислюючи їх чисельного значення. Позитивні коріння вказують на нестійкість системи, а негативні - на стійкість.
Всі критерії стійкості діляться на алгебраїчні і частотні. До алгебраїчним критеріїв належать критерії Гурвіца. До частотним критеріїв належать критерії Михайлова.
Провівши перевірку за критеріями Гурвіца, Вишнеградський і Михайлова з'ясували що система стійка.
Програма для розрахунку критеріїв стійкості
Вводимо коефіцієнти системи:
Лістинг Програми:
Unit1 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, StdCtrls, ExtCtrls, jpeg, Menus, Buttons, TeEngine, Series ,, Chart, TeeFunci;=class (TForm): TMainMenu; N1: TMeuItem; img1: TImage ;: TLabel; img2: TImage; lbl2: TLabel ;: TLabeledEdit; lbledt2: TLabeledEdit ;: TLabeledEdit; lbledt4: TLabeledEdit ;: TLabeledEdit; lbledt6: TLabeledEdit ;: TLabeledEdit; lbledt8: TLabeledEdit ;: TBitBtn; btn2: TBitBtn; btn3: TBitBtn ;: TLabel; lbl4: TLabel; lbl5: TLabel ;: TChart; Series1: TLineSeries ;: TAddTeeFunction; N1Click (Sender: TObject); procedure btn1Click (Sender: TObject); btn2Click (Sender: TObject); procedure btn3Click (Sender: TObject); {Private declarations} {Public declarations} ;: TForm1; k1, k3, k4, k5, t4, t2, t5, a0, a1, a2, a3, c5: Real; chit ();//зчитування коефіцієнтів; vish ();//Перевірка по Вішнеградову; gyrv (); //Перевірка по Гурвіцу; mich ();//Перевірка по Михайлову; {$ R * .dfm} TForm1.N1Click (Sender: TObject); Close (); end; chit ();:=StrToFloat (Form1.lbledt1.text); t2:=StrToFloat (Form1.lbledt1.text);:=StrToFloat (Form1.lbledt1.text); k4:=StrToFloat (Form1.lbledt1.text);:=StrToFloat (Form1.lbledt1.text); k5:=StrToFloat (Form1.lbledt1.text);:=StrToFloat (Form1.lbledt1.text); c5:=StrToFloat(Form1.lbledt1.text);;vish();:=Sqr(t5)*t4;a1:=2*t5*c5*t4+sqr(t5);a2:=t4+2*t5*c5;a3:=1(a0gt;0)and(a1gt;0)and(a2gt;0)and(a3gt;0)and((a1*a2-a0*a3)gt;0) then.lbl3.Caption:=(laquo;УСТОЙЧИВАraquo;);Form1.lbl3.Color:=clGreen;.lbl3.Caption:=(laquo;НЕ УСТОЙЧИВАraquo;);Form1.lbl3.Color:=clRed;;end;gyrv();:=Sqr(t5)*t4;a1:=2*t5*c5*t4+sqr(t5);a2:=t4+2*t5*c5;a3:=1;(a1gt;0)and((a1*a2-a0*a3)gt;0)and((a3*(a1*a2-a0*a3))gt;0) then.lbl4.Caption:=(laquo;УСТОЙЧИВАraquo;);Form1.lbl4.Color:=clGreen;.lbl4.Caption:=(laquo;НЕ УСТОЙЧИВАraquo;);Form1.lbl4.Color:=clRed;;end;mich();q:Integer;,e,r:Real;:Boolean;Form1.Series1.Clear;Form1.lbl5.Caption:=(laquo;Проверяетсяraquo;);Form1.lbl5.Color:=clBlue;:=0;q:=0 to 9 do:=w + 0.2;:=- a0 * (w * w * w) + a2 * w;:=- a1 * (w * w) + a3; .Series1.AddXY (r, e); ( r lt; - 3) and (e gt; 0) then t:=True ;; t=true then.lbl5.Caption:=(laquo;УСТОЙЧИВАraquo;);Form1.lbl5.Color:=clGreen;.lbl5.Caption:=(laquo;НЕ Стійкість ); Form1.lbl5.Color:=clRed ;; end; TForm1.btn1Click (Sender: TObject); chit (); vish (); end; TForm1.btn2Click (Sender: TObject); chit (); gyrv (); end; TForm1.btn3Click (Sender: TObject); chit (); mich (); end;.