Компания ALT Linux
Опубликован: 12.03.2015 | Доступ: свободный | Студентов: 485 / 21 | Длительность: 20:55:00
Лекция 2:

Основы работы

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

Символьные вычисления в Octave поддерживает специальный пакет расширений octave-symbolic. Процедура установки пакетов расширений описана в первой главе. Если пакет уже установлен, то перед началом работы его нужно загрузить командой pkg load symbolic. Теперь можно использовать любые функции из пакета symbolic.

Оператор symbols инициализирует символические операции, с этого оператора должны начинаться любые действия в символьных переменных. Работа с символьными переменными в Octave требует их специального объявления: sym(’имя переменной’). Например, команда x = sym ("x") объявляет символьную переменную x.

Пример 2.2. Выполнить арифметические операции с символьными переменными z = x*y,t=\frac{x^3}{z}, где x=a+b, y=a^2-b^2(листинг 2.2).

	
>>> x = sym ( "x" );% Объявление
>>> y = sym ( "y" );% символьных
>>> z = sym ( "z" );% переменных
>>> t = sym ( "t" );
>>> a = sym ( "a" );
>>> b = sym ( "b" );
% Вычисление символьных выражений
>>> x=a+b
x = a+b
>>> y=a^2-b^2
y = -b ^ (2.0)+a ^ ( 2.0 )
>>> z=x*y
z = -(b ^ ( 2.0 )-a ^ ( 2.0 ) ) *( a+b )
>>> t=x^3/ z
t = -(b ^ ( 2.0 )-a ^ ( 2.0 ) ) ^( -1) *( a+b ) ^ ( 2.0 )
Листинг 2.2. Решение примера 2.2.

Символьные вычисления в Octave предусматривают работу с элементарными математическими функциями (таблица 2.11).

Таблица 2.11. Функции в символьных вычислениях
Функция Описание функции
Sin(x) синус числа x
Cos(x) косинус числа x
Tan(x) тангенс числа x
aSin(x) арксинус числа x
aCos(x) арккосинус числа x
aTan(x) арктангенс числа x
Log(x) натуральный логарифм числа x
Exp(x) экспонента числа x (e^x)
Sqrt(x) корень квадратный из числа x(\sqrt{x})
Pi(x) число \pi

Вычислить значение символьного выражения при заданном значении переменной можно с помощью функции

subs(выражение,имя переменной,значение переменной)

Пример 2.3. Вычислить значение выражения: y = sin(a)^2-cos(a)^2, при a_1 =\frac{\pi}{3},a_2 =\frac{\pi}{6} (листинг 2.3).

	
>>> x = sym ( "x" );
>>> y = sym ( "y" );
>>> y=Sin ( x )^2-Cos ( x ) ^2
y = -cos ( x ) ^ ( 2.0 )+sin ( x ) ^ ( 2.0 )
% Значение выражения при заданном значении переменной
>>> subs ( y, x, Pi /3)
ans = 0.5000000000000000001
>>> subs ( y, x, Pi /6)
ans = -0.4999999999999999999
Листинг 2.3. Решение примера 2.3.

Преобразовать символьное выражение, представить его в виде элементарных функций возможно командой

expand(выражение)

Пример 2.4. Раскрыть скобки в выражении y =(\sqrt{x} + 1)(\sqrt{x}-1) + (x-1)^3 (листинг 2.1).

	
>>> y=( Sqrt ( x ) +1) *( Sqrt ( x ) -1)+(x-1) *( x -1) *( x -1)
y = ( -1.0+x ) ^3+(-1.0+ sqrt ( x ) ) *(1.0+ sqrt ( x ) )
>>> expand ( y )
ans = -2.0+(4.0) *x+x ^3 -(3.0) *x^2
Листинг 2.4. Решение примера 2.4.

Далее, по ходу изложения материала, будут рассмотрены операции с матрицами символов, решение систем линейных уравнений в символьных переменных (п. 5.9), решение нелинейных уравнений и систем (п. 7.4), дифференцирование (п. 8.1).

Алексей Игнатьев
Алексей Игнатьев

Возможна ли разработка приложения на Octave с GUI?

Евгений Ветчанин
Евгений Ветчанин

Добрый день. Я самостоятельно изучил курс "Введение в Octave" и хочу получить сертификат. Что нужно сднлать для этого? Нужно ли записаться на персональное обучение с тьютором или достаточно перевести деньги?

Андрей Скурихин
Андрей Скурихин
Россия, Санкт-Петербург, Санкт-Петербургский государственный электротехнический университет (ЛЭТИ), 1997