Поскольку переменные системы 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 приобрело статус символьного автоматически.