пятница, 14 ноября 2014 г.

Octave. Символьные вычисления

Интересной особенностью Octave является возможность работы с символьными выражениями, которая обеспечивается использованием библиотеки GiNaC. Реализованы, правда, далеко не все её возможности, но и того, что есть, во многих случаях достаточно.


Если у вас не установлен пакет octave-symbolic, рекомендую его поставить, т.к. он пригодится не только для раскрытия скобок, но и поиска производных, корней уравнений и др. Установленный пакет можно подключить командой pkg load symbolic.

Для начала работы с символьными выражениями нужно ввести оператор symbols, затем определить используемые переменные задаются в виде 
переменная = sym("имя").

Раскрытие скобок осуществляет функция expand.
Группировку слагаемых (правда, какую-то слабую) производит функция collect.
Ввести переменную с заданной точностью можно с помощью функции vpa. В частности, она полезна для работы с целыми числами и дробями. Вот пример суммы дробей:
Получить числовое значение выражения можно с помощью функции
subs(выражение, переменная, значение_переменной).
Выделить числитель и знаменатель позволяет функция
[числитель,знаменатель] = numden(выражение).
Помимо символьных переменных в Octave определены и функции:
Sin(x) - синус x;
Cos(x) - косинус x;
Tan(x) - тангенс x;
aSin(x) - акрсинус x;
aCos(x) - арккосинус x;
aTan(x) - арктангенс x;
Sinh(x), Cosh(x), Tanh(x), aSinh(x), aCosh(x), aTanh(x) - гиперболические функции;
Log(x) - натуральный логарифм x;
Exp(x) - экспонента числа x;
Sqrt(x) - квадратный корень из числа x.
Pi - число "пи".
Чтобы ввести символьную матрицу, воспользуйтесь функцией
ex_matrix(число_строк,число_столбцов,элементы).
Такие матрицы можно складывать, вычетать, умножать и делить.





Комментариев нет:

Отправить комментарий