Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Символьные вычисления The MATLAB Notebook v1.docx
Скачиваний:
16
Добавлен:
27.03.2015
Размер:
42.88 Кб
Скачать

Символические вычисления

В состав MatLab входит ToolBox Symbolic Math, предназначенный для вычислений в символическом виде. Преобразование выражений, разыскание аналитического решения задач линейной алгебры, дифференциального и интегрального исчисления, получение численного результата с любой точностью — вот далеко не полный перечень возможностей, предоставляемых данным ToolBox. Функции ToolBox Symbolic Math реализуют интерфейс между средой MatLab и библиотекой функций, являющихся вычислительным ядром Maple, причем работа в MatLab не требует установки Maple. Расширение ToolBox позволяет пользователям, имеющим опыт работы в Maple, использовать ресурсы ядра Maple практически в полном объеме, включая и программирование в Maple.

Символические переменные и функции

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

Определение переменных и функций и работа с ними

Символические переменные и функции являются объектами класса sym object, в отличие от числовых переменных, которые содержатся в массивах double array. Символический объект создается при помощи функции syms. Команда

syms x a b

создает три символические переменные х, а и b. Размер памяти, отводимый под символические переменные, достаточно большой, посмотрите инфор­мацию об определенных только что переменных:

whos

Name Size Bytes Class Attributes

a 1x1 126 sym

b 1x1 126 sym

x 1x1 126 sym

Конструирование символических функций от переменных класса sym object производится с использованием обычных арифметических операций и обозначений для встроенных математических функций, например:

f = (sin(x)+a)^2*(cos(x)+b)^2/sqrt(abs(a+b))

f =

(sin(x)+a)^2*(cos(x)+b)^2/abs(a+b)^(1/2)

pretty(f)

2 2

(sin(x) + a) (cos(x) + b)

---------------------------

1/2

| a + b |

whos f

Name Size Bytes Class Attributes

f 1x1 204 sym

Имеющиеся символические переменные и функции позволяют образовы­вать новые символические выражения:

syms y

g = (exp(-y)+1)/exp(y)

g =

(exp(-y)+1)/exp(y)

h=f*g

h =

(sin(x)+a)^2*(cos(x)+b)^2/abs(a+b)^(1/2)*(exp(-y)+1)/exp(y)

pretty(h)

2 2

(sin(x) + a) (cos(x) + b) (exp(-y) + 1)

-----------------------------------------

1/2

| a + b | exp(y)

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

z=sym('c^2/(d+1)')

z =

c^2/(d+1)

pretty(z)

2

c

-----

d + 1