Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yuntin.doc
Скачиваний:
37
Добавлен:
20.12.2018
Размер:
3.41 Mб
Скачать

7. Расчет переходного процесса с помощью решателей системы matlab:

Для получения переходного процесса необходимо численно решать уравнение системы. Для численного решения применяется метод Рунге Кутта.

Предположим, что требуется решить задачу Коши в виде (16). Для решения необходимо составить файл-функцию для вычисления правых частей (16). С этой целью в главном меню системы МАТLAB выбирается команда File->New->M-file . В результате откроется окно редактора m-файлов. В это окно необходимо ввести файл-функцию. Для рассматриваемой задачи (16) текст файл-функции будет таким:

function CMO = vdp(t,y)

a0=315.31

a1=1499.86

a2=50001

a3=10000;

b3=10000;

G = 3.4;

dy1 = y(2);

dy2 = y(3);

dy3 = b3*G/a0-a1*y(3)/a0-a2*y(2)/a0-a3*y(1)/a0;

CMO = [dy1; dy2; dy3];

Для получения решения в интервале времени [0, t0] в командном окне

размещается обращение к функции ode23:

[t, y] = ode23( 'vdp' , [0, 5], [0, 0, 0]); (17)

Далее на панели инструментов нажимается клавиша Enter. В этом же

командном окне печатаются результаты решения. Для построения графика используется функция:

[t, y] = plot(0, 5);

В результате мы получаем график:

8. Автоматизация расчета рабочей области.

Для расчета и построения графиков границ рабочей области используются выражения (11), но при этом в них знак неравенства должен быть заменен на знак равенства. После такой замены эти выражения становятся уравнениями границ рабочей области.

Исходными данными для расчета являются численные значения коэффициентов .

При расчете по каждому уравнению рассчитываются значения коэффициента усиления при пошаговом изменении в некотором диапазоне постоянной времени .

После окончания расчета в системе координат , строятся кривые границ. Далее требуется совместить их на одном графике и выделить рабочую область.

Объем работы существенно сокращается, если все делать с помощью компьютера и системы MATLAB.

Текст программы в системе MATLAB:

km=100;

К1= 10,766

К2=2,59(1+Кму)

К3=10,766 (1+Кму)

К5= 0,001 Кму

%1 граница

t1=0.2:.01:1;

ke1=(6*(t1+k3).^2-k1*k4*t1-k2*k4)./(t1.*(k1*k5*t1+k2*k5));

%2 граница

t2=0.2:.01:1;

ke2=(t2+k3).^3./((k1*t2+k2).^2*k5);

%3 граница

t3=0.2:.01:1;

ke3=0.5*k4*(t3+k3)./(k5*(t3*k1+k2-0.5*t3.^2-0.5*t3*k3));

%4 граница

t4=0.2:.01:1;

b=k5*(12*k4*t4-t4-k3);

c=6*k4^2;

a=6*t4.^2+k5^2;

ke4=(-b+sqrt(b.^2-4*a*c))./(2*a);

%разделительная линия

t0=0.2:.01:1;

a0=0.75*t0.^2*k5*2;

b0=1.5*k4*k5*t0-k5.*(t0+k3)*0.75;

c0=0.75*k4^2;

ke0=(-b0+sqrt(b0.^2-4*a0*c0))./(2*a0);

%вывод графиков

plot(t1, ke1, t2, ke2, t3, ke3, t4, ke4, t0, ke0);

%координаты надписей над кривыми

text(0.4, 3*10^6, 'ke1');

text(0.5, 1.5*10^6, 'ke2');

text(0.22, -0.2*10^6, 'ke3');

text(0.22, 0.21*10^6, 'ke4');

text(0.4, 0.32*10^6, 'p=1');

text(0.5, 0.6*10^6, 'work areas');

%контроль принадлежности к рабочей обл.

toc=0.4;

ke=1*10^6;

a0=k1*toc+k2;

a1=toc+k3;

a2=k4+toc*ke*k5;

a3=k5*ke;

raz1=a0*a2-6*a1^2;

raz2=a0^2*a3-a1^3;

raz3=a0*a3-0.5*a1*a2;

raz4=a1*a3-6*a2^2;

%вычисление po, tp.

po=(a3*a1)/(0.75*a2^2);

tp=3*a2/a3;

В результате получилось:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]