Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

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

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