Вычисление полюсов и нулей передаточной функции

Основы 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)

Наши рекомендации