Создание моделей непрерывного времени
В этом примере показано, как создать непрерывные линейные модели с помощью tf , zpk , ss , и frd команды.
Типы модели LTI
Control System Toolbox™ обеспечивает функции для создания четырех основных представлений моделей линейного независимого от времени (LTI):
- Модели передаточной функции (TF)
- Модели (zpk) нулей и полюсов
- Модели пространства состояний (SS)
- Модели данных о частотной характеристике (FRD)
Эти функции берут данные модели в качестве входа и создают объекты, которые воплощают эти данные в одной переменной MATLAB®.
Создание моделей передаточной функции
Передаточные функции (TF) являются представлениями систем LTI в частотной области. Передаточная функция SISO является отношением полиномов:
H ( s ) = A ( s ) B ( s ) = a 1 s n + a 2 s n — 1 + … + a n + 1 b 1 s m + b 2 s m — 1 + … + b m + 1
Передаточные функции заданы их полиномом числителя и полиномом знаменателя A(s) и B(s) . В MATLAB полином представлен вектором из его коэффициентов, например, полинома
задан как [1 2 10] .
Создать объект TF, представляющий передаточную функцию:
H ( s ) = s s 2 + 2 s + 1 0
задайте полином числителя и полином знаменателя и используйте tf создать объект TF:
num = [ 1 0 ]; % Numerator: s den = [ 1 2 10 ]; % Denominator: s^2 + 2 s + 10 H = tf(num,den)
H = s -------------- s^2 + 2 s + 10 Continuous-time transfer function.
В качестве альтернативы можно задать эту модель как рациональное выражение переменной s Лапласа :
s = tf('s'); % Create Laplace variable H = s / (s^2 + 2*s + 10)
H = s -------------- s^2 + 2 s + 10 Continuous-time transfer function.
Создание моделей нулей, полюсов и усиления
Модели (zpk) нулей и полюсов являются учтенной формой передаточных функций:
H ( s ) = k ( s — z 1 ) … ( s — z n ) ( s — p 1 ) … ( s — p m )
Такие модели отсоединяют корни z из числителя (нули) и корни p из знаменателя (полюса). Скалярный коэффициент k называется усилением.
Создать модель ZPK:
H ( s ) = — 2 s ( s — 2 ) ( s 2 — 2 s + 2 )
задайте векторы из полюсов и нулей и усиления k :
z = 0; % Zeros p = [ 2 1+i 1-i ]; % Poles k = -2; % Gain H = zpk(z,p,k)
H = -2 s -------------------- (s-2) (s^2 - 2s + 2) Continuous-time zero/pole/gain model.
Как и для моделей TF можно также задать эту модель как рациональное выражение s :
s = zpk('s'); H = -2*s / (s - 2) / (s^2 - 2*s + 2)
H = -2 s -------------------- (s-2) (s^2 - 2s + 2) Continuous-time zero/pole/gain model.
Создание моделей в пространстве состояний
Модели пространства состояний (SS) являются представлениями систем LTI во временной области:
d x d t = A x ( t ) + B u ( t )
y ( t ) = C x ( t ) + D u ( t )
где x(t) вектор состояния, u(t) входной вектор и y(t) выходная траектория.
Модели в пространстве состояний получают из дифференциальных уравнений, описывающих динамику системы. Например, рассмотрите ОДУ второго порядка для простого электродвигателя:
d 2 θ d t 2 + 2 d θ d t + 5 θ = 3 I
где I ведущий ток (вход) и theta угловое смещение ротора (выход). Это ОДУ может быть переписано в форме пространства состояний как:
d x d t = A x + B I A = [ 0 1 — 5 — 2 ] B = [ 0 3 ] x = [ θ d θ d t ]
θ = C x + D I C = [ 1 0 ] D = [ 0 ]
Чтобы создать эту модель, задайте матрицы пространства состояний A, B, C, D и используйте ss создать объект SS:
A = [ 0 1 ; -5 -2 ]; B = [ 0 ; 3 ]; C = [ 1 0 ]; D = 0; H = ss(A,B,C,D)
H = A = x1 x2 x1 0 1 x2 -5 -2 B = u1 x1 0 x2 3 C = x1 x2 y1 1 0 D = u1 y1 0 Continuous-time state-space model.
Создание моделей данных частотной характеристики
Модели данных о частотной характеристике (FRD) позволяют вам сохранить измеренную или симулированную комплексную частотную характеристику системы в объекте LTI. Можно затем использовать эти данные в качестве суррогатной модели в целях анализа и проектирования частотного диапазона.
Например, предположите, что вы вытаскиваете следующие данные из частоты анализатор:
- Частота (Гц): 10, 30, 50, 100, 500
- Ответ: 0.0021+0.0009i, 0.0027+0.0029i, 0.0044+0.0052i, 0.0200-0.0040i, 0.0001-0.0021i
Можно создать объект FRD, содержащий это использование данных:
freq = [10, 30, 50, 100, 500]; resp = [0.0021+0.0009i, 0.0027+0.0029i, 0.0044+0.0052i, 0.0200-0.0040i, 0.0001-0.0021i]; H = frd(resp,freq,'Units','Hz')
H = Frequency(Hz) Response ------------- -------- 10 2.100e-03 + 9.000e-04i 30 2.700e-03 + 2.900e-03i 50 4.400e-03 + 5.200e-03i 100 2.000e-02 - 4.000e-03i 500 1.000e-04 - 2.100e-03i Continuous-time frequency response.
Обратите внимание на то, что значения частоты приняты, чтобы быть в rad/s, если вы не задаете Units быть Герц.
Создание моделей MIMO
tf , zpk , ss , и frd команды позволяют вам создать обе модели SISO and MIMO. Для моделей TF или ZPK часто удобно создать модели MIMO путем конкатенации более простых моделей SISO. Например, можно создать 2×2 передаточная функция MIMO:
H ( s ) = [ 1 s + 1 0 s + 1 s 2 + s + 3 — 4 s s + 2 ]
s = tf('s'); H = [ 1/(s+1) , 0 ; (s+1)/(s^2+s+3) , -4*s/(s+2) ]
H = From input 1 to output. 1 1: ----- s + 1 s + 1 2: ----------- s^2 + s + 3 From input 2 to output. 1: 0 -4 s 2: ----- s + 2 Continuous-time transfer function.
Анализ моделей LTI
Control System Toolbox обеспечивает обширный набор функций для анализа моделей LTI. Эти функции лежат в диапазоне от простых запросов о размере ввода-вывода и порядке к сложному времени и анализу частотной характеристики.
Например, можно получить информацию о размере для передаточной функции MIMO H заданный выше путем ввода:
size(H)
Transfer function with 2 outputs and 2 inputs.
Можно вычислить использование полюсов:
pole(H)
ans = 4×1 complex -1.0000 + 0.0000i -0.5000 + 1.6583i -0.5000 - 1.6583i -2.0000 + 0.0000i
Можно спросить, является ли эта система устойчивым использованием:
isstable(H)
ans = logical 1
Наконец, можно построить переходной процесс путем ввода:
step(H)

Смотрите также
Похожие темы
- Создание моделей дискретного времени
- Графический вывод откликов системы
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация Control System Toolbox
- Примеры
- Функции и другая ссылка
- Информация о релизах
- PDF-документация
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Функции matlab для создания

>> ФункциюW=tf (n,m) можно также представить в следующем виде:
>>W=tf ( [0.56], [1540,654,1])
Функции pole() и zero()
8. Определить полюсы и нули передаточной функции, полученной в примере 11.
9. Найти корни уравнения 3S 3 + 5S 2 + 7 и по корням восстановить полином.
1.0000 1.6667 0.0000 2.3333
Функция conv()
10. Умножить полиномы p(s) = 3s 2 +5s + 7 и q(s) = 8s + 4
Или G = 24s 3 + 52s 2 + 76s + 28
11. Вычислить P(s) = 5s 2 + 2s + 7 при s=9
Операции с передаточными функциями звеньев
Сложение передаточных функций
12 Сложить передаточные функции


19 s^3 + s^2 + 12 s + 7
4 s^4 + 218 s^3 + 254 s^2 + 439 s + 192
76 s^5 + 137 s^4 + 112 s^3 + 115 s^2 + 85 s + 21
Функция pz map ()
13. Представить на плоскости S нули и полюсы функции
2 s^4 + 18 s^3 + 18 s^2 + 651 s + 78
18 s^5 + 45 s^4 + 32 s^3 +7 s^2 + 8 s + 418
>> n=[2 18 18 651 751];
>> m=[18 45 32 7 8 418];
2 s^4 + 18 s^3 + 18 s^2 + 651 s + 751
18 s^5 + 45 s^4 + 32 s^3 + 7 s^2 + 8 s + 418

Рис. 2.8. Нули и полюсы передаточной функции
14. Структурная схема системы управления показана на рис. 2.9

Рис. 2.9. Структурная схема системы
Необходимо получить передаточную функцию системы

Если передаточные функции звеньев имеют вид:

4746 s^2 + 112 s + 21
100152 s^2 + 2140 s
Функция parallel ()
15. Структурная схема системы управления приведена на рис. 2.10.

Рис.2.10. Структурная схема системы,
состоящая из параллельных звеньев
Необходимо получить передаточную функцию системы если передаточные функции звеньев имеют вид:
Документация
Используйте tf создать модели передаточной функции с комплексным знаком или с действительным знаком или преобразовать модели динамической системы в форму передаточной функции.
Передаточные функции являются представлением частотного диапазона линейных независимых от времени систем. Например, считайте непрерывное время динамической системой SISO представленный передаточной функцией sys(s) = N(s)/D(s) , где s = jw и N(s) и D(s) называются полиномом числителя и полиномом знаменателя, соответственно. tf объект модели может представлять SISO или передаточные функции MIMO в непрерывное время или дискретное время.
Можно создать объект модели передаточной функции или путем определения его коэффициентов непосредственно, или путем преобразования модели другого типа (таких как модель в пространстве состояний ss ) к форме передаточной функции. Для получения дополнительной информации смотрите Передаточные функции.
Можно также использовать tf создать обобщенное пространство состояний ( genss ) модели или неопределенное пространство состояний ( uss (Robust Control Toolbox) ) модели.
Matlab. Как записать данную передаточную функцию

Всех приветствую! Не могу записать данную передаточную функцию в Матлаб (снимок залил). Слабо знаком с данной программой. Хотел из передаточной функции получить частотные характеристики. Обратился сюда, может кто знает как записать
мне просто передаточную функцию правильно записать бы, а дальше я уже сам
Изображения
| Здесь вы можете заказать любую студенческую или школьную работу. |
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как ввести нестандартную передаточную функцию в matlab
Всех приветствую нужно вбить не совсем стандартную передаточную функцию в matlab. Я знаю,как это.

В командном режиме записать передаточную функцию в виде Transfer function
Здравствуйте. Необходимо записать данную передаточную функцию в командной строке MatLab .

Как записать данную функцию в скилаб?
f=exp^(x*log(x)); эта не подходит
К какому звену можно отнести данную передаточную функцию
Передаточная функция выведенная из структурной схемы имеет вид: .
5236 / 3564 / 378
Регистрация: 02.04.2012
Сообщений: 6,471
Записей в блоге: 17
Sula99, тут по сути получится 3 передаточные функции, а из них затем можно получить итог, но не факт, что оно будет в виде привычной тебе дроби:
1 2 3 4 5 6 7
t = 1; k = 10; w1 = tf(k,[t^2 0 0]) % k/(p^2*t^2) w3 = tf(1,1,'InputDelay',t) % exp(-p*t) W = w1*(1-w3)^2 bode(W) % частотные характеристики grid on
Регистрация: 09.11.2018
Сообщений: 4
Спасибо вам! попробую
Добавлено через 4 минуты
Сообщение от Зосима 
Sula99, тут по сути получится 3 передаточные функции, а из них затем можно получить итог, но не факт, что оно будет в виде привычной тебе дроби:
1 2 3 4 5 6 7
t = 1; k = 10; w1 = tf(k,[t^2 0 0]) % k/(p^2*t^2) w3 = tf(1,1,'InputDelay',t) % exp(-p*t) W = w1*(1-w3)^2 bode(W) % частотные характеристики grid on
Хех.. почему-то программа закрывается сама по себе, когда начинается выполнение команд
Может потому-что старая версия? у меня Matlab R2015b
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как записать передаточную функцию для пропорционального клапана расхода жидкости?
Здравствуйте, я заканчиваю университет, пишу диплом, моя специальность технолог-машиностроения, но.
Можно ли в MatLab построить передаточную функцию цифрового фильтра в Z преобразовании
Всем привет, передаточная функция цифрового фильтра на основе алгоритма Герцеля имеет вид.
Как записать данную функцию в С++
Здравствуйте ребят, как написать эту функцию в c++?

Как лучше записать данную функцию
Как лучше записать эту функцию для создания линейного списка, и вообще правильно ли я все сделал.

Записать данную функцию с помощью рекурсии и итерации
Всем привет, помогите! Мне нужно записать функцию с помощью рекурсии и итерации.
Как задать передаточную функцию?
подскажите как задать передаточную функцию W(s)=44/(45.45s+1)^n
Как выполнить данную задачу в MatLab?
Для спектраG(f)=3*^*\left^2определить ширину полосы сигнала, используя следующие.
Или воспользуйтесь поиском по форуму: