Слайд 1 Аналитические вычисления в Matlab
Слайд 2Как можно вычислять?
Пример: вычисление определённого интеграла
По формуле Ньютона: F(b)
– F(a), где F(x) – первообразная
получаем точный результат
но первообразную
не всегда можно найти
Численно: методом прямоугольников, трапеций, Симпсона и пр.
можно пользоваться даже тогда, когда интеграл «не берётся»
но при вычислении возникают погрешности
Слайд 3Средства Matlab
Изначально Matlab имел средства только для численного анализа
Сегодня в
Matlab встроены средства аналитических (символьных) вычислений
Symbolic Math Toolbox
Является вычислительным ядром
системы Maple V
Установка Maple не требуется
Слайд 4Создание символьных переменных
Для символьного анализа требуется создать символьные переменные и
функции
Символьные переменные создаются
по одной: x=sym(’x’)
так же можно создать целое символьное
выражение
несколько сразу: syms x y z
Символьные функции определяются через символьные переменные: f=x^2+y
Для построения символьных функций можно воспользоваться командой ezplot
Представить в стандартной форме – командой pretty
Слайд 6Представление символьных переменных
Слайд 7Символьные вычисления
Преобразования анализа
дифференцирование, пределы, интегрирование, разложение в ряд Тейлора
Упрощение
и подстановки
Точная арифметика
Линейная алгебра
Решение уравнений и их систем
обычных и дифференциальных
Слайд 12Односторонние пределы
Рассмотрим функцию f(x)=x/|x|
Слайд 28Операции над полиномами
Реализуются при помощи функций
collect
expand
factor
horner
Слайд 29Операции над полиномами
collect – вычисляет коэффициенты при степенях независимой переменной
по
умолчанию – x
Можно явно задать имя независимой переменной в
виде:
collect (f, VarName)
Слайд 30Операции над полиномами
expand – представляет полином суммой степеней без приведения
подобных
Слайд 31Операции над полиномами
factor – разлагает полином на множители, если эти
множители имеют рациональные коэффициенты:
Слайд 32Операции над полиномами
Также factor производит каноническое разложение числа:
Слайд 33Операции над полиномами
horner – представляет полином в схеме Горнера:
Слайд 34Упрощение выражений
simplify
реализует мощный алгоритм упрощения с использованием тригонометрических, степенных, логарифмических,
экспоненциальных функций, а также спецфункций (Бесселя, гипергеометрической, интеграла ошибок и
пр.)
simple
пытается получить выражение, которое представляется меньшим числом символов, чем исходное, последовательно применяя все функции упрощения Symbolic Math Toolbox
Слайд 37Simplify против Simple
Иногда simple даёт более удачное решение, чем simplify:
Слайд 38Simple
simple особенно эффективна при работе с тригонометрическими выражениями
Слайд 39Подстановка
subs подставляет одно символьное выражение в другое
Общий формат:
subs(, ,
)
Слайд 41Подстановка значения в функцию
Подстановка вместо переменной её числового значения приводит
к вычислению символьной функции от значения аргумента
Слайд 42Точная арифметика
Точные вычисления реализуются функцией vpa (Variable-Precision Arithmetic)
Формат вызова:
vpa(,
цифр>)
Слайд 44Решение уравнений и систем
Выполняет команда solve
До 4-го порядка включительно решаются
точно
Ответ выводится в степенях рациональных чисел
Уравнения высших порядков и трансцендентные,
как правило, точно не решаются
В этом случае выводится приближённый результат
С целью сокращения записи при выводе могут использоваться подстановки
Слайд 46Решение систем
Также выполняет команда solve
Входные аргументы
левые части уравнений
переменные, по которым
нужно разрешить систему
например: s = solve(f1, f2, x1, x2)
Выходной аргумент
структура
(запись) s с полями (в данном случае) x1 и x2, хранящими символьное представление решения
Слайд 48Решение дифференциальных уравнений
Выполняет команда dsolve