Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Oskin_Markin_pravka_net_tochnosti.doc
Скачиваний:
517
Добавлен:
10.03.2016
Размер:
15.2 Mб
Скачать
    1. 2.4. Использование MatLab для моделирования систем

    2. На основе передаточных функций

      1. Использование команд языка сценариев

В среде MatLabсуществует несколько возможностей задания передаточных функций линейных систем управления. В случае работы с помощью командной строки либо файла сценария наиболее рационально использовать функциюtf(transferfunction).

Синтаксис функции ft:

f=tf(num,den), где num – коэффициенты полинома числителя передаточной функции, идущие по убыванию степени s, аden– коэффициенты полинома знаменателя передаточной функции, идущие по убыванию степениs.

Например, передаточная функция

(17)

вводится следующим образом:

>> n = [2 4]

n =

2 4

>> d = [1 1.5 1.5 1]

d =

1.0000 1.5000 1.5000 1.0000

>> f = tf ( n, d )

Transfer function:

2 s + 4

-------------------------

s^3 + 1.5 s^2 + 1.5 s + 1

Еще один способ задания передаточной функции (17):

>> f = tf ( [2 4], [1 1.5 1.5 1] );

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

Таблица 4

Функции для представления временных характеристик

Функция

Описание функции

step(f)

step(f, t)

Вывод в виде графика переходной характеристики системы

impulse(f)

impulse(f, t)

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

Примечание. f – передаточная функция; t – интервал времени, для которого будет рассчитан переходный процесс

      1. Использование Simulink

Еще одним способом задания систем в виде передаточных функций является использование пакета Simulink, входящего в составMatLab.

Для представления передаточной функции в Simulink используется блок Transfer Fcn. Блок передаточной характеристики Transfer Fcn задает передаточную функцию в виде отношения полиномов

, (18)

где nn и nd – порядок числителя и знаменателя передаточной функции, порядок числителя не должен превышать порядок знаменателя, num – вектор или матрица коэффициентов числителя, den – вектор коэффициентов знаменателя. Параметры блока TransferFcn:

  • Numerator – вектор или матрица коэффициентов полинома числителя.

  • Denominator – вектор коэффициентов полинома знаменателя.

  • Absolute tolerance – абсолютная погрешность.

Исследование переходных характеристик осуществляется путем подачи на вход блока, представляющего передаточную функцию (блок Transfer Fcn), единичного ступенчатого сигнала (блоки ConstantилиStep). Входной сигнал блока должен быть скалярным. Чтобы получить переходный процесс, необходимо поместить на схему блокScopeи соединить его вход с выходом блока, переходный процесс которого необходимо получить. На рис. 6. показан пример моделирования колебательного звена с помощью блока Transfer Fcn (схема вSimulinkи переходные процессы, полученные в блокеScope). Начальные условия при использовании блока Transfer Fcn полагаются нулевыми.

Рис. 6. Пример моделирования колебательного звена с помощью Simulink

    1. 2.5. Использование SciLab для моделирования систем

    2. На основе передаточных функций

      1. Использование script-языка

При использовании script-языка SciLab для представления линейных систем используется функция syslin.

Синтаксис:

sl = syslin(dom, N, D)

sl = syslin(dom, H)

Параметры функции syslin:

dom – символьная переменная, которая может принимать два значения: 'c' или 'd'. dom определяет временной домен системы и может принимать следующие значения: dom='c' для систем непрерывных во времени; dom='d' для дискретно-временных систем;

N, D – полиномиальные матрицы;

H – рациональная матрица;

Выражение s = poly(0,'s') задаёт полином, соответствующий оператору Лапласа; переменная s может быть использована в дальнейшем. Наряду с таким заданием можно использовать и константу %s.

Далее приведены альтернативные способы задания двух ПФ и.

Пример 1:

s = poly(0, 's');

H1 =(1+2*s)/s^2

W1 = syslin('c', H1)

H2 = (1+2*s+s^2)/s^2

W2 = syslin('c', H2)

Пример 2:

s = poly(0, 's');

W1 = syslin('c', 1+2*s, s^2)

W2 = syslin('c', 1+2*s+s^2, s^2)

Пример 3:

W1 = syslin('c', 1+2*%s, %s^2)

W2 = syslin('c', 1+2*%s+%s^2, %s^2)

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

[y [,x]] = csim(u, t, sl),

где u – функция управления, принимает значения ‘step’ или ‘impulse’ в зависимости от вызываемой временной характеристики;

t – действительный вектор, характеризующий время; t(1) – начальное время x0=x(t(1));

sl – передаточная функция, представленная функцией syslin.

Далее рассмотрим в качестве примера моделирование апериодических звеньев первого порядка с различными значениями постоянных времени. Результат моделирования в виде переходных характеристик приведен на рис. 7.

Пример:

// построение переходных характеристик

// апериодического звена 1-го порядка

K = 1; // коэффициент усиления

T1 = 0.1; // постоянные времени

T2 = 0.5;

T3 = 1;

W1 = syslin('c', K/(T1*%s + 1));// задать ПФ

W2 = syslin('c', K/(T2*%s + 1));

W3 = syslin('c', K/(T3*%s + 1));

t = 0:0.05:5; // временной интервал

h1 = csim('step', t, W1); // моделирование подачи

h2 = csim('step', t, W2); // на вход ПФ

h3 = csim('step', t, W3); // ступенчатого воздействия

// построение графиков

plot(t, h1, 'r', t, h2, 'g', t, h3, 'b');

xgrid(2); // установка сетки на графике

// установка подписей графика и осей

xtitle('h(t)', 'time, c', 'h(t)');

legend('T=0.1', 'T=0.5', 'T=1'); // подпись легенды

Рис. 7. Переходные характеристики апериодических звеньев в SciLab

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