Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

Методичка

←предыдущая  следующая→
1 2 



Скачать реферат


1.Классы вычислительных объектов

Объектно-ориентированный подход в программировании предполагает, что в программе должны быть определены классы, применяемых в программе объектов, составлены их описания, созданы экземпляры необходимых объектов и определено взаимодействие между ними.

Классом в системе Matlab принято называть определенную форму представления вычислительных объектовы в совокупности с правилами (процедурами) их преобразования. Класс определяет тип переменных, а правила – операции и функции, которые могут быть применены к этому типу. В свою очередь тип переменной определяет объем памяти, которая отводится на запись переменной в память, с структуру размещения данных в этом объеме памяти. Операции и функции, которые могут быть применены к объекту данного класса, определяют методы этого класса. Например, имеются такие встроенные классы вычислительных объектов, как double – числовые массивы в формате двойной точности, struct – массивы записей, sell – массивы ячеек. Каждому типу классов соответсвтуют собственные функции и операторы обработки, т.е. методы. Например, к объекту, принадлежащего классу array (массив) можно применить такие методы: size – для вычисления размеров матрицы, length – определение длины вектора, ndims – количество размерности массива и т.д.

Для преобразования и анализа свойств приборов и систем автоматического управления представляет большой интерес классы пакета Control System Toolbox.

Основным объектом этого пакета является родительский объект (класс) LTI (Linear Time-Invariant System), который позволяет исследовать линейные стационарные системы (ЛСС) автоматического управления.

Дочерние объекты (классы), т.е. подклассы класса LTI, соответсвуют трем разным представлениям ЛСС:

• tf - представление объектов в виде передаточных функций;

• zpk – представление информации об объекте, вычисляя нули, полюсы и коэффициент передачи;

• ss – представление описания объекта в пространстве состояния.

3.форм в другую, Первая и вторая применяются для преобразования модели в пространство состояния, третья — в передаточную функцию, а четвертая - в нули – полюсы - коэффициент передачи.

Модель, заданную как непрерывная, можно преобразовать в дискретную форму, воспользовавшись процедурой с2d в соответствии со схемой: sysd = c2d(sys, Ts, method)

Здесь sys — исходная непрерывная заданная модель, sysd - получаемый в результате работы процедуры дискретный исходной системы, Тs — задаваемое значение шага дискретизации, method — параметр, определяющий метод дискретизации. Последний параметр может принимать одно из значений:

• 'zoh' - соответствует применению экстраполятора нулевого порядка;

• 'foh' - соответствует применению экстраполятора первого порядка;

• 'tustin' - билинейная аппроксимация Тастина внутри интервала дискретизации;

• 'matched' - метод согласования нуля и полюса;

Далее рассмотрите примеры перевода введенного ранее непрерывного колебательного звена kzvl в дискретные звенья разными методами:

>>KZVD1 = c2d(kzv1, 0.01)

>>KZVd2 = c2d(kzv1, 0.01, ‘zoh’)

>>KZVd3 = c2d(kzv1, 0.01, ‘foh’)

>>KZVd4 = c2d(kzv1, 0.01, ‘tustin’)

>>KZVd6 = c2d(kzv1, 0.01, ‘matched’)

Процедура d2c осуществляет обратную операцию – переводит дискретную систему в непрерывную:

>> k1 = d2c(KZVd1)

>> k1 = d2c(KZVd1, ’tustin’)

Как можно убедиться, указанные операции являются взаимнообратными.

Процедура d2d позволяет переопределить дискретную систему, либо меняя шаг дискретизации:

• sysl = d2d(sys, Ts)

либо вводя групповые задержки Nd (целое, в количестве шагов дискретизации):

• sysl = d2d(sys, [], Nd)

Рассмотрите примеры. Вначале измените шаг

5.

>> Torsk = tf(25, [100 50])

и интегрирующего звена, описывающего переход от угловой скорости к углу поворота торпеды вокруг вертикали:

>> SkUg = tf(1, [1 0])

Определим ПФ последовательного соединения этих звеньев:

>> Tor = Torsk*SkUg

Сформируем цепь управления, входом которой является, угол рыскания торпеды, а выходом — момент, накладываемый на торпеду со стороны ее рулей направления. Ее будем предполагать состоящей из двух параллельно соединенных частей - части, управляемой гироскопом направления и представляющей собой обычное усилительное (статическое) звено:

>> GN = tf(2, 1)

и части, управляемой гиротахометром, которую можно представить как дифференцирующее-колебательное звено:

>> GT = tf([100 0], [1 10 100])

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

>> Izm = GN + GT

Теперь найдем модель всей системы автоматического управления угловым движением торпеды, рассматривая цепь управления как цепь отрицательной обратной связи для торпеды и пользуясь для объединения прямой и обратной цепи процедурой feedback:

>> sys = feedback(Tor, Izm)

После того как система сформирована, можно ввести при помощи процедуры set некоторые ее символьные описания. В частности, присвоить названия входам и выходам системы, а дать краткий комментарий к самой системе.

>> set (sys, ‘Input Name’, ‘Момент сил’, ‘Output Name’, ‘Угол рыскания’)

>> set (sys, ‘Notes’, ‘Угловое движение торпеды’)

>> get (sys)

2.1 Получение информации о модели

Чтобы получить отдельные характеристики (матрицы и векторы, описывающие пространство состояния, коэффициенты числителя и знаменателя передаточной функции и т.п.) полученной модели можно использовать одну из следующих процедур: tfdata (для получения векторов числителя и знаменателя передаточной функции системы), ssdata (для получения значений матриц уравнений пространства состояния) и zpkdata (для получения векторов значений полюсов и нулей системы).

>> [nom, den] = tfdata(sys, ‘v’)

>> sssys = ss(sys)

>> [A, B, C, D] = ssdata(sssys)

>> [z, p, k] = zpkdata(sys, ‘v’)

Процедура get дает возможность получить полную характери¬стику модели, включая имена входов и выходов, примечания, зна¬чения шага дискретизации и т.п. Например:

>> get(sys)

О числе входов и выходов системы можно узнать, обратившись к процедуре size:

>> size(sys)

>> size(ssys)

2.2 Анализ системы

Пакет CONTROL предоставляет широкий набор процедур, осуществляющих анализ САУ с самых различных точек зрения прежде всего, определение откликов системы на внешние воздействия как во временной, так и в частотной областях.

Для нахождения временных откликов системы на внешние воздействия некоторых видов предусмотрены функции:

• impulse - нахождение отклика системы на единичное импульсное входное воздействие;

• step - нахождение реакции системы на единичный скачок входного воздействия;

• initial - определение собственного движения системы при произвольных начальных условиях;

• lsim - определение реакции системы на входное воздействие произвольной формы, задаваемое в виде вектора его значений во времени;

Рассмотрим применение этих процедур на примере движет торпеды, параметры которой как САУ приведены ранее. Применяя процедуру step к созданной модели » step(sys), можно получить график переходной функции.. Аналогично, использование

)процедуры » impulse(sys) приведет к появлению в графическом окне графика импульсной переходной функции.

Чтобы применить процедуру initial, необходимо в число входных параметров включить, во-первых, полный вектор всех начальных условий по переменным состояния, а во-вторых, момент времени окончания процесса интегрирования: >> initial(ssys, [0 0 0 1], 20).

2.2 (1

Для применения процедуры lsim необходимо предварительно задать вектор t значений времени, в которых будут заданы значения входного воздействия, а затем задать соответствующий

←предыдущая  следующая→
1 2 



Copyright © 2005—2007 «Mark5»