Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / TROPA V MATLAB_new.doc
Скачиваний:
68
Добавлен:
17.09.2018
Размер:
2.26 Mб
Скачать

Вопросы для самопроверки

1. Как осуществляется ввод полиномов в MATLAB

2. Какие команды осуществляют умножение, деление полиномов

3. Какая команда вычисляет корни полинома

4. Какая команда осуществляет построение полинома по заданному вектору его корней

5. Какая команда вычисляет значение полинома по заданному значению его аргумента

6. Каким образом можно задать первый входной аргумент команд fzero и fsolve

7. Какая команда MATLAB находит минимум функции одной переменной

8. Какая команда MATLAB находит минимум функции нескольких переменных

9. Какие команды вычисляют значения определенных интегралов

10. Какие команды (солверы) возвращают численные решения обыкновенных дифференциальных уравнений

Глава 7 символьные вычисления

В предыдущих главах рассматривались численные процедуры MATLAB, выполняемые с аргументами, заданными в виде чисел или числовых массивов. В состав MATLAB входит пакет Symbolic Math ToolBox, который добавил к системе возможность символьных вычислений. Помимо типовых аналитических вычислений (таких, как упрощение математических выражений, подстановка, нахождение пределов, дифференцирование, интегрирование, интегральные преобразования, получение решений уравнений и систем уравнений, включая дифференциальные и т. д.), пакет Symbolic позволяет реализовывать арифметические операции с любой точностью. Функции пакета Symbolic реализуют интерфейс между средой MATLAB и ядром Maple системы аналитических вычислений или системы компьютерной алгебры канадского университета Waterloo, причем работа в MATLAB не требует установки Maple. Система Maple в своем ядре и в расширениях имеет около 3000 функций. Система MATLAB с пакетом Symbolic, включающим в себя около сотни символьных команд и функций, намного уступает Maple по их количеству. Однако пользователь, имеющий опыт работы в Maple, может напрямую обращаться ко всем командам и процедурам этой системы (кроме графических), написанным на встроенном языке Maple (см. раздел 7.17). Способы получения справочной информации по пакету Symbolic рассмотрены в приложении 1.

7.1 Символьные переменные, константы и выражения

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

Для создания символьных переменных или объектов используется команда sym.

Например, команда

>>x=sym('x')

x =

x

возвращает символьную переменную с именем 'x' и записывает результат в х.

Команда x=sym('x','real') дополнительно определяет x как вещественную переменную. Аналогично x=sym('x','positive') определяет x как положительную (вещественную) переменную, а x=sym('x','unreal') – как чисто формальную переменную (т. е. не обладающую никакими дополнительными свойствами).

Для создания группы символьных объектов служит команда syms.

Команда

>> syms a b c

создает символьные переменные с именами a, b, c.

Команда

>> Pi=sym('pi');

создает символьное число Pi = π, не обладающее погрешностью представления числа π в формате с плавающей запятой. Результаты операций с символьным Pi выражаются не в числовой, а в символьной форме. Следовательно, пакет Symbolic позволяет получить точные значения тригонометрических функций (и их рациональных комбинаций) от аргумента π в виде выражений, включающих квадратные корни из рациональных чисел, если такие выражения существуют и могут быть найдены системой. Например, точное значение sin равно

>> S=sin(Pi/5)

S =

1/4*2^(1/2)*(5-5^(1/2))^(1/2)

Символьное выражение S выведено в командное окно в одну строку.

Команда pretty(S) выводит в командное окно символьное выражение S в формате близком к математическому:

>> pretty(S)

1/2 1/2 1/2

1/4 2 (5 - 5 )

Теперь очевидно, что

sin = .

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

Например,

>> F=sym('x+y')

F =

x+y

Команда syms без аргументов выводит список символьных объектов, имеющихся в рабочем пространстве.

При запросе о наличии символьных переменных в памяти после выполнения предыдущего примера

>> syms

'F'

получен ответ 'F', т. е. входящие в выражение переменные x и y не являются символьными. Их нельзя использовать в качестве аргументов в дальнейших символьных вычислениях.

Изменим рассмотренный выше ввод символьного выражения F следующим образом:

>> syms x y

>> F=x+y

F =

x+y

>> syms

'F' 'x' 'y'

Теперь переменные x и y вначале получили статус символьных, а сконструированное из них выражение F приобрело статус символьного автоматически.

Соседние файлы в папке Методички