Вычисление полюсов и нулей передаточной функции
Основы MATLAB
MATLAB в режиме прямых вычислений
В системе MATLAB любые вычисления можно выполнять в командном режиме, то есть без создания программы. Работа с системой в командном режиме осуществляется в виде диалога и происходит по правилу «задал вопрос – получил ответ». Пользователь набирает вычисляемое выражение и нажимает клавишу ENTER.
|
>> a=2+3
a =
• для указания ввода исходных данных используется символ >>;
• для блокировки вывода результата вычислений некоторой команды после него надо поставить ; (точка с запятой).
Пример:
>> b=2+3;
>> b
b =
• если не указана конкретная переменная для значения результата вычисления, то система MATLAB сама назначает такую переменную под именем ans;
• знаком присваивания является обычный знак =;
• знаки простейших операций: + - * / ^ (-возведение в степень);
• встроенные функции (например, sin) записываются строчными буквами, и их аргументы указываются в круглых скобках;
Пример:
>> sin(pi/2)
ans =
• результат вычислений выводится в строках вывода (без знака >>);
• диалог происходит в стиле «задал вопрос – получил ответ».
Некоторые операции строчного редактирования и управления окном
↑↓ - используются для подстановки после >> ранее введенных строк, например для дублирования их или исправления; clc – очистка окна; Esc – очистка строки ввода.
Полиномы и операции с ними
- Полином представляется в виде вектор строки
Пример.
>>p=[1 3 0 4] – так определяем полином p(s)=s3 + 3s2 + 4
- Вычисление корней полинома производится с помощью функции roots()
Пример.
>>r=roots(p)
r =
-3.3553
0.1777 + 1.0773i
0.1777 + 1.0773i
- Умножение полиномов осуществляется функцией conv()
Пример.
>>p=[1 3 0 4]; q=[1 4];
>>n=conv(p,q)
n =
3 14 9 4
Скрипты
Режим прямых вычислений используется, когда сеанс работы в MATLAB является коротким и не содержит повторяющихся вычислений. В противном случае используется возможность выполнения системой MATLAB длинной последовательности команд, записанных в виде файла. Такие файлы называются М-файлами,т. к. их имена имеют вид Filenаmе.m. Одним из видов М-файла является скрипт.
Создание скрипта:меню File ->New ->M-file. В появившемся окне набираем последовательность обыкновенных инструкций и функций, используемых на уровне командной строки. Сохраняем файл под некоторым именем *.m
Пример
Summa.m
1 A=1+2;
2 b=3+4;
3 sum=A+b
Чтобы вызвать скрипт, т.е. выполнить последовательность его инструкций следует в режиме прямых вычислений ввести в командной строке имя соответствующего файла и нажать ENTER:
>> summa
sum =
Моделирование систем передаточными функциями
Передаточная функция
Передаточная функция линейной системы – отношение преобразования Лапласа выходной переменной к преобразованию Лапласа входной переменной при условии, что все начальные условия равны нулю:
Чтобы определить в MATAB передаточную функцию, следует:
a) Задать в виде векторов-строк полиномы, стоящие в числителе и знаменателе передаточной функции;
b) Использовать функцию tf() двух аргументов
Пример. Определим в MATAB передаточную функцию системы “масса-пружина”, которая имеет вид:
Положим, масса груза M составляет 2 кг., коэффициент трения b=0.5, коэффициент упругости пружины k=1
Введем в Command Window
>> num=[1];
>> den=[2 0.5 1];
>> sys=tf(num,den);
(Теперь с помощью функции tf сформирована передаточная функция, закрепленная за именем sys)
Вычисление полюсов и нулей передаточной функции
Полюса передаточной функции – корни характеристического уравнения .
Для вычисления в MATAB полюсов передаточной функции используется функция pole()
Пример. Определим полюса введенной передаточной функции
Введем в Command Window: >> p=pole(sys)
Нули передаточной функции – корни уравнения .
Для вычисления в MATAB нулей передаточной функции используется функция zero()
Пример. Определим нули введенной передаточной функции
Введем в Command Window: >> z=zero(sys)