Главная страница
Навигация по странице:

  • Cut, Paste, Clear Вырезать, Вставить, Удалить Format/Flip name Формат/Развернуть имя 1sIntegrator1 1sIntegratorFormat/Hide name

  • Format/Flip block Формат/Развернуть блок 1s1sFormat/Rotate block

  • Sources

  • 3.2.

  • Step СтупенькаStep time Момент скачка Initial value Начальное значение Final value Величина скачка Sine wave

  • Band-limited white noise

  • 3.3.

  • Derivative Производная нет Integrator

  • Transfer Fcn. Передаточная функцияNumeratorМассив коэффициентов числителя DenominatorМассив коэффициентов знаменателя Zero-pole

  • Math Operations ). Рис. 3.6 Их описание и назначение параметров представлено в табл. 4.Таблица 4 Название блока Тип блока Параметры Math function

  • Sign Знак нет Sum

  • Матлаб. К. Ю. Петрова введение в matlab учебное пособие


    Скачать 2.57 Mb.
    НазваниеК. Ю. Петрова введение в matlab учебное пособие
    АнкорМатлаб
    Дата15.09.2022
    Размер2.57 Mb.
    Формат файлаpdf
    Имя файлаmironovsky_petrova_matlab.pdf
    ТипУчебное пособие
    #678847
    страница6 из 18
    1   2   3   4   5   6   7   8   9   ...   18
    Задачи и упражнения
    1. Для приведенных ниже систем второго порядка найти дифференциальное уравнение, передаточную функцию, весовую функцию, описание в пространстве состояний и выполнить моделирование в MATLAB. а) Механическая система с трением
    m – масса груза,
    k – жесткость пружины,

    – коэффициент трения,
    v
    F
    сопр


    – сила трения
    Входной сигнал – сила F, выход – координата x или скорость
    x
    v


    б) Электрическая схема (параллельный колебательный контур). в) Электрическая схема (последовательный колебательный контур).
    Входной сигнал i,
    выходной сигнал i
    L
    Входной сигнал u;
    выходной сигнал u
    c
    или u
    R
    Численные значения параметров L, m принять равными числу букв в Вашей фамилии; R,

    – числу букв в имени/10; с, k – числу букв в отчестве.
    Указание. При построении математической модели использовать уравнения: второй закон Ньютона
    ,
    F
    kx
    v
    ma




    где
    x
    a
    x
    v





    ,
    ; законы Кирхгофа и Ома
    u
    R
    u
    c
    R
    C
    L
    u
    L
    I
    u
    L
    C
    R
    i(t)
    i
    L
    i
    C
    i
    R m
    F
    x

    37
    ,
    1
    ,
    ),
    (
    /
    ,
    ),
    (
    Lp
    z
    Cp
    z
    R
    z
    p
    z
    u
    i
    u
    u
    u
    u
    t
    i
    i
    i
    i
    L
    C
    R
    R
    c
    L
    R
    C
    L










    2. Используя команду dsolve, найти решение дифференциального уравнения
    ,
    0




    x
    x
    x
    x






    с начальными условиями а)
    ,
    2
    ,
    1 0
    0 0




    x
    x
    x



    б)
    0
    ,
    60 0
    0 0



    x
    x
    x



    Ответ: а)
    t
    e
    x
    t
    sin



    , б)
    )
    45
    sin(
    4
    ,
    42 30
    )
    cos sin
    (
    30
    o
    t
    t
    t
    e
    t
    t
    e
    x








    3. Решить в символьном виде следующие дифференциальные уравнения: а)
    ;
    )
    (
    x
    ,
    )
    (
    x
    ,
    )
    (
    x
    ,
    x
    x
    x
    2 0
    2 0
    1 0
    4 2
















    б)
    .
    )
    (
    x
    )
    (
    x
    ),
    nt
    sin(
    a
    x
    n
    x
    0 0
    0 2









    Ответ: а)
    ,
    2 3
    4
    )
    (
    t
    e
    t
    t
    x



    б)


    x t
    a
    n
    nt
    nt
    nt
    ( )
    sin cos cos(
    ) .



    2 2


    4. Найти реакцию апериодического звена с передаточной функцией
    a
    p
    p
    Q


    1
    )
    (
    на входной сигнал
    t
    e
    u



    . Определить максимум выходного сигнала. Выполнить численное и символьное моделирование в MATLAB, приняв a=1; b=2; T=3.
    Решение. а) Программа моделирования в MATLAB (тулбокс CONTROL): a = 1; b = 2; T = 3;
    % Задание параметров t = linspace(0, T); u = exp(-b*t
    ); % Входной сигнал sys = tf(1, [1 a]);
    % Описание системы y = lsim(sys, u, t);
    % Моделирование ym = max(y); plot(t, y).
    % Вывод результатов
    б) Аналитическое решение (тулбокс SYMBOLIC);


    t
    at
    e
    e
    a
    t
    y







    1
    )
    (
    При
    a


    (особый случай) решение принимает вид:
    )
    (
    ;
    )
    (
    1
    )
    (
    2
    at
    te
    t
    y
    a
    p
    p
    y




    При этом t
    M
    =1/a, y(t
    M
    )=1/ae.
    5. Дано дифференциальное уравнение y
    (4)
    y = e
    -t
    , с начальными условиями:
    75 5
    ,
    5 7
    ,
    25 5
    ,
    3 0
    0 0
    0






    y
    y
    y
    y






    Найти аналитическое решение в MATLAB. Рассмотреть три варианта численного моделирования и сравнить их по точности.
    Возможная техническая интерпретация задачи – управление неустойчивым объектом, считая у отклонением, а u = e
    -t
    – управлением.
    Ответ: Аналитическое решение исходного уравнения:
    t
    e
    t
    y
    t
    cos
    2
    )
    25
    ,
    0 5
    (




    Отметим, что в решение не вошла неустойчивая мода C
    1
    e
    t
    . Это означает, что программное управление e
    -t
    обеспечивает колебательное движение объекта около неустойчивого положения равновесия. На практике неизбежно появление малых отклонений, которые со временем будут лавинообразно нарастать.
    Три варианта численного моделирования.
    а) Раздельная реализация управления и системы.

    38 sys=tf(1,[1 0 0 0 -1]);
    s=ss(sys);
    T=10;t=0:.1:T; u=exp(-t);
    X0=[-5.75;7.5;-5.25;3]; y=lsim(s,u,t,X0);
    z=(5-t/4).*exp(-t)-2*cos(t); plot(t,y,t,z)
    0 2
    4 6
    8 10
    -2
    -1 0
    1 2
    3 4
    Компьютер выдает правильное решение при Т< 8 сек., далее машинное решение «разваливается».
    б) Совместная реализация управления и системы. Входной сигнал u = e
    -t
    формируется с помощью апериодического звена, в качестве вектора b используется вектор Х
    0
    . Общий порядок системы равен пяти. Ранг матрицы управляемости
    ]
    ...,
    ,
    ,
    [
    4
    b
    A
    Ab
    b
    R

    равен 4, т.е. реализация неминимальна. Тем не менее, теперь правильное решение сохраняется втрое дольше (на интервале
    25 сек.).
    в) Дальнейшего увеличения точности решения можно достичь, если выполнить редукцию и перейти к минимальной реализации 4-го порядка. В пакете MATLAB такая редукция выполняется с помощью команды minreal. Аналитически редукцию можно выполнить, вычислив передаточную функцию
    )
    1
    )(
    1
    (
    4 25
    ,
    2 25
    ,
    2 75
    ,
    1 75
    ,
    5
    )
    (
    4 2
    3 4








    p
    p
    p
    p
    p
    p
    p
    Q
    и затем сократив числитель и знаменатель на общий множитель р–1.
    3.
    МОДЕЛИРОВАНИЕ в SIMULINK
    3.1.
    Запуск и начало работы в SIMULINK
    Наиболее простым и удобным средством для моделирования динамических систем в пакете
    MATLAB является SIMULINK. Он поставляется в виде отдельного приложения и содержит библиотеки различных блоков, из которых в рабочем окне строится структурная схема модели.
    Процесс программирования в явном виде отсутствует, поэтому иногда говорят о визуальном моделировании. Особенно удобен такой подход для моделирования систем автоматического управления, заданных структурными схемами, дифференциальных уравнений (схемы для них строятся по методу понижения производных), механических систем и электрических схем.
    SIMULINK можно запустить, набрав команду simulink или нажимая на кнопку в линейке меню. При этом открывается окно браузера библиотек. Для создания новой модели выбираем пункт меню “File/New/Model”. То же самое можно сделать при помощи кнопки на панели инструментов. После выделения одной из библиотек (например, непрерывные блоки –
    Continuous) на правой панели появится список доступных блоков. Выбранный блок следует

    39 перетащить мышью в окно модели. Если щелкнуть мышью по блоку в модели, то откроется окно параметров блока.
    При нажатии правой кнопки мыши на блоке открывается меню с перечнем операций, описанных в табл. 1.
    Таблица 1
    Название
    Перевод
    Пример
    Cut, Paste, Clear
    Вырезать, Вставить, Удалить
    Format/Flip name
    Формат/Развернуть имя
    1
    s
    Integrator1 1
    s
    Integrator
    Format/Hide name
    Формат/Спрятать имя
    1
    s
    1
    s
    Integrator
    Format/Flip block
    Формат/Развернуть блок
    1
    s
    1
    s
    Format/Rotate block
    Формат/Повернуть блок
    1
    s
    1
    s
    На рис.3.1 показана простейшая схема моделирования. Она содержит три блока:
    Sine wave
    (генератор синусоиды) из группы Sources (генераторы входных сигналов),
    Scope
    (осциллограф) из группы Sinks (регистрация выходных сигналов) и
    Integrator
    (интегратор) из группы Continuous
    (непрерывные модели). Блоки можно соединить, протянув линию от одного блока к другому при нажатой левой кнопке мыши. Чтобы удалить связь, достаточно выделить ее мышью, а затем нажать клавишу DEL. Блоки можно удалять точно таким же способом.
    Sine Wave
    Scope
    1
    s
    Integrator
    Рис.3.1
    Для запуска модели следует нажать кнопку или выбрать пункт меню Simulation/Start.
    Если во время моделирования или после его окончания совершить двойной щелчок мышью по блоку
    Scope
    , откроется окно с графиком сигнала. Для разумного выбора масштаба графика нужно нажать мышкой на кнопку c изображением бинокля.
    3.2.
    Генераторы входных сигналов и регистрация результатов
    Для моделирования входных и управляющих воздействий (синусоидальных, ступенчатых, импульсных и других) используются генераторы сигналов. Все они сосредоточены в библиотеке
    (группе блоков) Sources (источники). Часть из них показана на рис.3.2.

    40
    Step
    Sine Wave
    Ramp
    Pulse
    Generator untitled.mat
    From File simin
    From
    Workspace
    1
    Constant
    Band-Limited
    White Noise
    Рис. 3.2
    Описание их параметров приведено в табл. 2.
    Таблица 2
    Название блока
    Тип сигнала
    Параметры
    Step
    Ступенька
    Step time
    Момент скачка
    Initial value
    Начальное значение
    Final value
    Величина скачка
    Sine wave
    Гармонический сигнал
    b
    t
    A
    y




    )
    sin(


    Amplitude
    Амплитуда
    A
    Bias
    Смещение
    b
    Frequency
    Частота

    радиан/сек
    Phase
    Сдвиг по фазе

    в радианах
    Ramp
    Линейно изменяющийся сигнал








    0 0
    0 0
    ,
    0
    ),
    (
    t
    t
    t
    t
    t
    t
    k
    y
    y
    Slope
    Коэффициент наклона
    k
    Start time
    Начальное время
    0
    t
    Initial output
    Начальное значение
    0
    y
    Pulse generator
    Последовательность прямоугольных импульсов
    Amplitude
    Амплитуда
    Period
    Период колебаний в секундах
    Pulse width
    Ширина импульса
    Phase delay
    Сдвиг по фазе в секундах
    Band-limited
    white
    noise
    Белый шум, ограниченный по полосе
    Noise power
    Мощность
    Sample time
    Частота дискретизации
    Seed
    Параметр инициализации
    Constant
    Константа
    Constant value
    Величина константы
    From File
    Загрузка из файла
    File name
    Имя файла
    Sample time
    Частота дискретизации
    From Workspace
    Загрузка из рабочего пространства MATLAB
    Data
    Имя переменной
    Sample time
    Частота дискретизации
    В последних версиях SIMULINK в число генераторов входных сигналов включен блок
    Signalbuilder
    , позволяющий формировать кусочно-линейные сигналы произвольной формы.
    Для представления результатов моделирования используются блоки, расположенные в группе Sinks. Наиболее важными из них являются блоки
    Scope, Graph
    (осциллографы),
    Display, To
    File и
    To Workspace
    . Их изображения приведены на рис. 3.3.
    XY Graph simout
    To Workspace untitled.mat
    To File
    Scope
    0
    Display
    Рис. 3.3
    Блок
    Scope предназначен для вывода графиков сигналов. Блок
    XY Graph необходим для изображения параметрических графиков, например, фазовых траекторий динамических систем.
    Блок
    Display выводит в окне числовое значение сигнала. Блок
    To File предназначен для сохранения результатов моделирования в файле. Пользователь может выбрать имя файла и имя

    41 переменной. После выполнение моделирования содержимое файла можно загрузить в рабочее пространство командой load.
    Результаты моделирования можно передать в рабочее пространство MATLAB при помощи блока
    To Workspace
    . Пользователь должен ввести имя переменной (по умолчанию simout
    ). Имеется три варианта представления результатов – массив (array), структура (structure), структура со временем (structure with time). В первом случае в рабочем пространстве MATLAB появляется массив значений переменной simout и соответствующий массив времени timeout
    . Во втором и третьем случаях результат возвращается в виде структуры и помещается в рабочее пространство
    MATLAB. Извлечение переменных из полей структуры производится с помощью команд типа simout.time и simout.signal
    3.3.
    Основные линейные и нелинейные блоки
    На рис. 3.4 приведены обозначения основных непрерывных блоков из библиотеки
    Continuous.
    (s-1)
    s(s+1)
    Zero-Pole
    1
    s+1
    Transfer Fcn x' = Ax+Bu y = Cx+Du
    State-Space
    1
    s
    Integrator du/dt
    Derivative
    Рис. 3.4
    Описание их назначения и смысл некоторых параметров указан в табл. 3
    Таблица 1
    Название блока
    Тип блока
    Параметры
    Derivative
    Производная нет
    Integrator
    Интегратор
    External reset:

    none

    rising

    falling

    either

    level
    Внешний сброс:

    отсутствует

    по растущему фронту

    по падающему фронту

    по любому фронту

    по уровню
    Initial condition
    Начальные условия
    Limit output:

    upper saturation limit

    lower saturation limit
    Ограничения по выходу:

    верхний предел насыщения

    нижний предел насыщения
    State-space
    Описание в пространстве состояний
    (ОПС)
    D
    C
    B
    A
    ,
    ,
    ,
    Матрицы системы
    Initial conditions
    Вектор начальных условий
    Transfer Fcn.
    Передаточная функция
    Numerator
    Массив коэффициентов числителя
    Denominator
    Массив коэффициентов знаменателя
    Zero-pole
    Нуль-полюсное описание системы
    Zeros
    Массив нулей
    Poles
    Массив полюсов
    Gain
    Коэффициент усиления
    На рис. 3.5 приведены аналогичные дискретные блоки (библиотека Discrete). Среди них есть два блока, не имеющих аналога среди непрерывных блоков. Это блок задержки
    Unit delay и

    42 блок
    Discrete Filter
    – дискретный фильтр, который определяет рациональную функцию от оператора задержки
    z
    /
    1
    z
    1
    Unit Delay
    T
    z-1
    Discrete-Time
    Integrator y(n)=Cx(n)+Du(n)
    x(n+1)=Ax(n)+Bu(n)
    Discrete State-Space
    1 1+0.5z -1
    Discrete Filter
    (z-1)
    z(z-0.5)
    Discrete
    Zero-Pole
    1
    z+0.5
    Discrete
    Transfer Fcn
    Рис. 3.5
    На рис. 3.6 показаны изображения блоков для выполнения математических операций. Они входят в группу «математических функций» (Math Operations).
    Рис. 3.6
    Их описание и назначение параметров представлено в табл. 4.
    Таблица 4
    Название блока
    Тип блока
    Параметры
    Math function
    Математическая функция
    Function: exp, log,
    10^u, log10, sqrt, ….
    Вид функции
    Output signal type

    Auto

    Real

    Complex
    Тип выходного сигнала

    Не определен

    Вещественный

    Комплексный
    Sign
    Знак нет
    Sum
    Сумма
    Icon shape:

    Rectangular

    Round
    Изображение блока:

    Прямоугольное

    Круглое
    List of signs
    Знаки при входах
    Trigonometric
    function
    Тригонометриче ская функция
    Function: sin, cos, tan, asin, acos, sinh, cosh,
    ….
    Вид функции
    Output signal type

    Auto

    Real

    Complex
    Тип выходного сигнала

    Не определен

    Вещественный

    Комплексный
    Gain
    Усилитель
    Gain
    Коэффициент усиления
    Multiplication:

    Element-wise (K.*u)

    Matrix (K*u)

    Matrix (u*K)
    Способ умножения:

    Поэлементное

    Матричное (K*u)

    Матричное (u*K)
    Abs
    Модуль нет
    3.4.
    Пример моделирования в SIMULINK
    sin
    Trigonometric
    Function
    Sum1
    Sum
    Sign e
    u
    Math
    Function
    Gain
    |u|

    43
    Основной способ исследования систем в SIMULINK – составление структурной схемы на усилителях, сумматорах, интеграторах и других блоках, последующее моделирование и наблюдение результатов на имитаторах осциллографов и других регистрирующих приборов.
    Рассмотрим процедуру моделирования на примере дифференциального уравнения
    2
    /
    1
    )
    0
    (
    ,
    0
    )
    0
    (
    ,
    0
    sin




    y
    y
    y
    y



    Оно описывает свободное колебание математического маятника, который отклонили от положения равновесия на угол около 30 0
    и отпустили без начальной скорости. Соответствующая схема моделирования приведена на рис.3.7, a. Она содержит два интегратора, тригонометрический блок для получения функции siny и инвертирующий усилитель. Начальные условия на интеграторах устанавливаются при задании внутренних параметров блока.
    Внесем в эту схему дополнительные блоки, позволяющие:

    Наблюдать фазовые траектории, т.е. графики зависимости
    y
    от
    y
    .

    Получать два графика
    )
    (t
    y
    и
    )
    (t
    y

    на одном осциллографе.

    Передавать результаты моделирования в MATLAB.
    Измененная схема показана на рис.3.7, б. Для наблюдения фазовых траекторий введен блок
    XY Graph
    . Для совмещения двух графиков на вход осциллографа
    Scope подан «сдвоенный» сигнал.
    Он получен с помощью блока «мультиплексор» (
    Mux
    ) из группы блоков «маршрутизация сигналов» (
    1   2   3   4   5   6   7   8   9   ...   18


    написать администратору сайта