Анализ систем автоматизированного управления численными методами

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?полнять на каждом шаге.

 

3. Текст программы

 

program Krit;crt;n=5; Tem=0.131; Tya=0.05; Typr=0.076; Tkz=0.148;massiv= array [1..n,1..n] of real;a,b:massiv; Kv,diag:real; i,j: integer;Vivod;textcolor(9); writeln( Коэффициенты определителя Гурвица :); textcolor(7); writeln( a1=,1); writeln( a2=,Tya+Typr+Tkz:9:8); writeln( a3=,Tem*Tya+Typr*Tya+Tkz*Tya+Tkz*Typr:9:8); writeln( a4=,Typr*Tem*Tya+Tkz*Tem*Tya+Tkz*Typr*Tya:9:8); writeln( a5=,Tkz*Typr*Tem*Tya:9:8);

end;

Обнуление элементов стоящих под главной диагональю

procedure Obnylenie(m:integer; a:massiv; var b:massiv);i,j:integer;; for i:=m+1 to n do for j:=m+1 to n do b[i,j]:=a[i,j]-a[i,m]/a[m,m]*a[m,j];;

Вычисление определителей

procedure Diag_opred(b:massiv; var sum: real);i,j: integer;clrscr; Vivod; writeln; textcolor(9); writeln( Вычисленные определители:); sum:=1; for i:=1 to n do for j:=1 to n do if i=j then begin sum:=sum*b[i,i]; textcolor(7); writeln( ,sum:7:9); end;;

Формирование определителя Гурвица

procedure Matrix(Kv:real;var a:massiv);clrscr; for i:=1 to n-3 do begin a[2*i,i+2]:=1; a[2*i,i+1]:=Tem*Tya+Typr*Tya+Tkz*Tya+Tkz*Typr; a[2*i,i]:=Tkz*Typr*Tem*Tya; end; for i:=1 to n-2 do begin a[2*i-1,i+2]:=Kv; a[2*i-1,i+1]:=Tya+Typr+Tkz; a[2*i-1,i]:=Typr*Tem*Tya+Tkz*Tem*Tya+Tkz*Typr*Tya; end;;

Основное тело программы

begin Kv:=0; repeat begin Kv:=Kv+0.05; Matrix(Kv,a); end; b:=a; for i:=1 to n-1 do Obnylenie(i,b,b); begin Diag_opred(b,diag); end; until diag<=0; begin writeln; textcolor(9); writeln( Критический коэффициент равен:); textcolor(7); writeln( Kv =,Kv:5:2); readkey; end;

end.

 

3.1 Описание переменных

 

В программе использованы такие переменные: a-массив чисел, из элементов которого формируем определитель Гурвица; n-размерность массива; i-номер строки; j-номер столбца; b-массив чисел. При помощи его, изменяя номера строк и столбцов приводим матрицу к треугольному виду; Tem-электро-механическая постоянная времени двигателя; Tya- постоянная якорной цепи двигателя; Typr-постоянная времени обмотки управления ЭМУ; Tkz-постоянная времени короткозамкнутой обмотки ЭМУ; m-некоторая переменная принимающая значение от 1 до 5; sum-счетчик, используемый для вычисления диагональных определителей; Kv-дискретность или шаг; diag-один из вычисленных диагональных определителей;

3.2 Описание программы

 

В процедуре Vivod осуществляется расчет коэффициентов a1,a2,a3,a4,a5 определителя Гурвица и вывод значений на экран; В процедуре Obnylenie задавая некоторой переменной m значения от 1 до 5 мы в цикле изменяя номера строк и столбцов приводим матрицу размерностью 55 к треугольному виду, используя дополнительный массив b. В этом массиве накапливается значение элемента i-ой строки и j-го столбца; В процедуре Diag_opred происходит вычисление диагональных определителей. Присваивая некоторому счетчику sum значение равное 1, мы при первом выполнении цикла получаем 1-ый главный диагональный минор определителя Гурвица, следующий получаем умножая 1-ый на 2-ой и так далее; В процедуре Matrix - выстраиваем сам определитель Гурвица. Для облегчения в цикле зададим значение только переменной i; Tеперь рассмотрим основное тело программы: пусть первоначально Kv=0, затем выполняем вычисление диагональных определителей, каждый раз увеличивая шаг на 0.05 т.е. Kv=Kv+0.05 до тех пор пока один из них не станет меньше ноля(diag<0). Как только это условие выполнится выводим на печать значение соответствующего Kv-это и будет критический коэффициент передачи замкнутой следящей системы.

 

3.3 Результаты работы программы

переходный функция импульсный квадратичный

Коэффициенты определителя Гурвица: a1=1;

=0.27500000; =0.01710700; =0.00076100; =0.00002110;

Вычисленные определители: 0.000760998; 0.000007217; 0.000001637; -0.000000002; -0.000000032;

Критический коэффициент равен: kv=14,40;

 

4. Определение переходной функции h(t) следящей системы и её показатели качества

 

.1 Методы нахождения передаточной функции

 

Передаточная функция следящей системы равна:

 

k(p)=(Tкзp+1)(Тупрp+1)[(Tэмp+1)Tяp+1]

где

A(p)=p(Ткзp+1)(Tупрp+1)[(Tэмp+1)Tяp+1]+kv=a5p+a4p+a3p+a2p+a1p+a0

 

характеристический многочлен разомкнутой системы

Т.к. а0=b0=kv мы можем переписать данную функцию в таком виде:

b0 Y(p)(p)= a5p+a4p+a3p+a2p+a1p+a0 X(p)

На основании данной функции запишем дифференциальное уравнение замкнутой системы. Оно имеет вид:

*dy/dt +a4*dy/dt +a3*dy/dt +a2*dy/dt +a1*d y/dt +a0*y=b0*x;

 

Для решения дифференциального уравнения численным методом его необходимо преобразовать к системе пяти уравнений 1го порядка, предварительно разделив все коэффициенты на старший коэффициент а5, получим:

 

dy/dt +a4*dy/dt +a3*dy/dt +a2*dy/dt +a1*dy/dt +a0*y=b0*x;

где ai =ai/a5,(i=0,1,…,4); a0=b0=b0/a5;

Введём новую переменную z, тогда z1=y, z2=y, z3=y, z4=y, z5=y.

Преобразовав выражение представим систему в таком виде: dz1/dt=z2, dz2/dt=z3, dz3/dt=z4, dz4/dt=z5, dz5/dt=b0x-a0z1-a1z2-a2z3-a3z4-a4z5. В нашем случае используется метод Э2, начальные условия:

z1(0)=z2(0)=z3(0)=z4(0)=z5(0). В результате решения необходимо получить таблицу значений для функции z1(t)(при двух значениях: kvкрит/2 и kvкрит/4) h(t)=z1(t) - переходная функция - реакция системы на единичное ступенчатое воздействие, причем её значения должны затухать вокруг 1. Время t, при котором данная функция попадает в 5% коридор отклонения от значения 1 и не выходит из него называется tрег-время регулирования. По данным таблиц строим графики z1(t)=h(t). По найденным далее значениям t и t, соответствующих kv крит/2 и kv крит/4 вычисляем интегральные квадратичные оценки:

==

 

Определение значения интегралов производим по методу Симпсона.

 

4.2 Метод Рунге-Кутта

 

Наиболее распространенным среди одношаговых методов является метод Рунге-Кутта. На его основе могут быть построены разностные схемы разного порядка точности. Приведем схему метода четвертого порядка.

 

 

Таким образом, метод Рунге-Кутта требует на каждом ша?/p>