Слева в этом окне показаны все lti-модели, размещенные в рабочей среде системы MATLAB; справа показаны LTI-модели, отобранные для работы в среде LTI-Viewer.
Следует отметить, что при добавлении lti-объектов в рабочую среду системы MATLAB окно просмотра автоматически не обновляется. Для обновления окна просмотра следует использовать кнопку Refresh (обновить).
Поскольку LTI-Viewer может работать только с lti-объектами, размещенными в собственной рабочей среде, необходимо с помощью кнопки Select переместить требуемые lti-объекты в рабочую среду LTI-Viewer и тогда они отобразятся в окне просмотра Selected (выбранные модели).
Всякий раз, когда lti-объект вводится в окно Selected, LTI-Viewer автоматически строит график, указанный в меню Plot Type, и выводит соответствующие ему опции в область Plot Options. После построения графиков lti-объекты в окне Selected отмечаются знаком +.
Первоначальным состоянием любого lti-объекта, помещенного в окно Selected, является ―график включен‖. Если нет необходимости просматривать график, связанный с тем или другим lti-объектом, то можно переключить этот объект в состояние ―график выключен‖, используя индикатор Plot. Для этого необходимо выполнить следующие операции:
выделить имя модели в окне Selected, график для которой следует исключить;
выключить отметку в индикаторе Plot.
Исключение метки в индикаторе переводит график в состояние ―выключен‖ и исключает его из окна показа до тех пор, пока в индикаторе не будет вновь выставлена метка ―включен‖.
Для удаления lti-объекта из области Selected необходимо воспользоваться кнопкой Delete, выделив имена тех моделей, которые следует исключить из рабочей среды LTI-Viewer.
4.ВЫПОЛНЕНИЕ СИМВОЛЬНЫХ ОПЕРАЦИЙ
4.1.Возможности пакета Symbolic Math Toolbox
Всистему MATLAB 5.2 входит обновленная версия 2.0 пакета расширения Symbolic Math Toolbox (в дальнейшем сокращенно Symbolic), которая базируется на ядре символьной математической системы Maple V R4, лидирующей в области автоматизации аналитических решений. С помощью команды
»help symbolic
можно получить перечень входящих в пакет команд и функций. Он соответствует названиям заголовков этой главы. Для получения справки по любой команде или функции можно использовать команду
» help sym/name.m
где name это имя соответствующей команды или функции, a name.m имя М- файла, задающего команду или функцию.
Пакет Symbolic добавил системе MATLAB качественно новое свойство
возможность выполнения символьных вычислений и преобразований, которые ранее были доступны только в системах принципиально иного класса, относящихся к компьютерной алгебре. До введения этого пакета система MATLAB считалась наиболее мощной системой при решении математических задач и математического моделирования в численном виде. Теперь она, с учетом новых средств, становится в полной мере универсальной системой.
Последняя реализация системы символьной математики Maple V R5 в своем ядре и в расширениях имеет около 2700 функций. Система MATLAB с пакетом Symbolic, включающим в себя чуть больше сотни символьных команд и функций, намного уступает Maple V по количеству таких команд и функций. Однако в данный пакет включены лишь наиболее важные и широко распространенные функции. Кроме того, есть специальная команда, которая дает доступ к ядру Maple V, что заметно расширяет круг используемых функций. Вряд ли можно считать существенным недостатком то, что в пакете Symbolic используется ядро из реализации Maple V R4
оно более апробировано и надежно, чем ядро новейшей реализации R5 системы Maple V.
Помимо типовых аналитических вычислений (таких как символьное дифференцирование и интегрирование, упрощение математических выражений, подстановка и так далее) пакет Symbolic позволяет реализовать
арифметические операции с произвольной точностью.
4.2. Демонстрационные примеры работы с пакетом Symbolic
Для ознакомления с пакетом Symbolic можно использовать следующие команды:
symintro начальное знакомство с Symbolic;
symcalcdemo демонстрация символьных вычислений;
symlindemo демонстрация применения пакета Symbolic в задачах линейной алгебры;
symvpademo демонстрация операций арифметики с произвольной точностью;
symrotdemo изучение вопросов вращения плоскости;
symeqndemo демонстрация решения уравнений в символьном виде. С каждым из этих примеров связан М-файл, запуск которого
осуществляется с помощью одной из указанных команд. Текст пояснений в этих примерах приводится на английском языке. Для знакомства используется
просмотр в окне командного режима, а возможности графики практически не используются в силу специфики символьных вычислений.
4.3. Задание символьных переменных с помощью апострофов
Поскольку переменные системы MATLAB по умолчанию не определены и традиционно задаются как векторные, матричные, числовые и так далее, то есть не имеющие отношения к символьной математике, для реализации символьных вычислений нужно прежде всего позаботиться о создании специальных символьных переменных. В простейшем случае их можно определить как строковые переменные, заключив имена в апострофы. Следующие примеры иллюстрируют действие этого приема:
» sin(x)^2+cos(x)^2
??? Undefined function or variable 'x'.
» sin('x')^2+cos('x')^2
ans =
1
Итак, в первом случае MATLAB "возмутилась" нашей небрежностью и сообщила, что функция или переменная х не определена, и ни о каких вычислениях синуса и косинуса речи быть не может. Вместе с тем она подсказала, как надо сделать это определение заключить имя переменной в апострофы, ибо таким образом система получает информацию о необходимости включить символьный режим вычислений. Поэтому во второй раз получен вполне осмысленный результат
сумма квадратов синуса и косинуса переменной 'х' выдана равной 1.
Этот результат сразу выдает характерную особенность символьных вычислений: они возвращают результаты даже в том случае, когда переменные не определены. Правила выполняемых при этом преобразований заложены в ядре символьных операций, а в нашем случае это ядро системы Maple V R4.
Символьные переменные имеют много общего со строковыми, которые также задаются с использованием апострофа. Однако различия между ними все же имеются, и самое серьезное из них
это возможность эволюции символьных выражений, то есть их вычисления и преобразования с помощью специальных символьных функций. По этой причине мы отделяем символьные переменные, хранящие символьные выражения, от строковых переменных, хранящих не эволюционирующий текст.
|
4.4. Базовые символьные функции |
|
|
sym |
Создание символьных переменныха |
|
|
Синтаксис: sym(A) sym('x') sym('x','real')
S = sym(A) возвращает символьный объект S класса 'sym' для входного параметра А. Если А
строка, то будет получена символьная строка или символьная переменная, а если А это число (скаляр) или матрица, то будут получены их символьные представления.
X = sym('x')
возвращает символьную переменную с именем 'х' и записывает результат в х.
х = sym('x','real') возвращает символьную переменную вещественного типа, так что conj(x) эквивалентно х.
Возможны также следующие очевидные формы:
alpha = sym('alpha') |
r = sym('Rho', 'real') |
х = sym('x', 'unreal') |
pi = sym('pi') |
delta=sym('1/10') |
|
Для преобразования чисел или матриц в символьную форму применяется функция sym в виде:
S = sym(A,flag)
syms |
Функция создания группы символьных объектов |
|
|
Синтаксис:
syms arg1 arg2 ...
syms arg1 arg2 ...
создает группу символьных объектов, подобную выражениям arg1=sym(‗arg1‘); arg2=sym(‗arg2‘)…
syms arg1 arg2 ... real и syms arg1 arg2 ... unreal создают группы сим-
вольных объектов с вещественными (real) и не вещественными (unreal) значениями. Последнюю функцию можно использовать для отмены задания вещественности объектов.
Имена параметров (аргументов) должны начинаться с буквы и содержать только буквы и цифры. Применение в них спецзнаков, например: +, -, *, ^ и подобных недопустимо, поскольку такие знаки воспринимаются как операторы - сигналы к действию.
findsym |
Функция создания списка символьных переменных |
|
|
Синтаксис:
findsym(S)
findsym(S,N)
В математических выражениях могут использоваться как обычные, так и символьные переменные. Функция findsym позволяет выделить символьные переменные в составе выражения S:
findsym(S) возвращает в алфавитном порядке список всех символьных переменных выражения S. При отсутствии таковых возвращается пустая строка.
findsym(S,N)
возвращает список N символьных переменных, ближайших к 'х' в порядке упорядочения по алфавиту.
Примеры:
»a=2; b=4;
»findsym(a*x^2+b*y+z)
ans =
x, y, z
» findsym(a+b+x+y+z, 2)
ans = x,y
Функция findsym позволяет упростить запись многих функций, поскольку она автоматически находит используемую в этих функциях символьную переменную.
pretty |
Функция вывода символьных выражений |
|
|
Синтаксис: pretty(S) pretty(S,n)
К сожалению, в отличие от современных систем символьной математики
(MathCAD, Maple V или Mathematical), MATLAB пока не способна выводить выражения и результаты их преобразований в естественной математической форме с использованием общепринятых спецзнаков для отображения интегралов, сумм, произведений и так далее. Этот недостаток, однако, часто оборачивается достоинством - запись выражений осуществляется в простом текстовом формате, облегчающем ввод выражений. Да и вывод символьных выражений в таком формате поддерживается практически всеми устройствами вывода.
Тем не менее, некоторые ограниченные текстовым форматом возможности близкого к математическому виду вывода обеспечивает функция pretty: