Символьные вычисления
Символьные функции
Создание символьных функций
Символьные функции в Engee используются для представления математических функций в символьном виде.
В примере, приведенном ниже, создается символьная переменная x, а затем создается символьная функция U(x)=|x|+3
using Symbolics;
@variables x;
U(x) = abs(x) + 3
Значение символьной функции при заданном числовом значении аргумента можно вычислить без использования функции substitute. Для этого в качестве аргумента символьной функции нужно подставить определенное число.
Например, найдем значение функции U(x) из предыдущего примера при и сохраним его в переменной out:
out = U(-1)
✏️Задание 1
Создайте в Engee символьную переменную r. Затем создайте символьную функцию S, которая представляет собой зависимость площади круга от его радиуса r: . Вычислите значение площади круга при .
Решение
using Symbolics;
@variables r;
S(r) = pi * r^2;
out = S(3)
Аналогично можно задавать символьные функции нескольких переменных, разделяя имена независимых переменных запятой.
Например, функция задается так:
using Symbolics;
@variables x y;
W(x, y) = 3*x + 5*y
Найдем ее значение при , :
out = W(4, 2)
✏️Задание 2
Cоздайте в Engee символьную функцию , которая представляет собой зависимость площади эллипса от длин его большой и малой полуосей a и b. Вычислите значение площади эллипса при , и сохраните его в переменной out.
Решение
using Symbolics;
@variables a b;
S(a, b) = pi * a * b;
out = S(10, 4)
Если значение одного из аргументов символьной функции представляет собой не скаляр, а вектор, то в результате мы получим вектор соответствующих значений функции.
Например, если в функцию для площади эллипса вместо переменной a подставить вектор значений [10 11 12 13], а вместо переменной b – значение 4, то получится вектор значений функции S:
using Symbolics;
@variables a b;
S(a, b) = pi * a * b;
out = S([10 11 12 13], 4)
Работа с символьными функциями
Кроме числовых значений, в символьные функции в качестве аргументов также можно передавать символьные переменные и выражения. Результатом будет являться символьное выражение.
Например, в функцию в качестве аргумента подставим символьное выражение :
using Symbolics;
@variables x y;
U(x) = abs(x) + 3;
out = U(7*y + 5)
✏️Задание 3
Cоздайте в Engee символьную функцию . Затем передайте в функцию в качестве аргумента символьное выражение и сохраните его в переменной expr.
Решение
using Symbolics;
@variables x y;
W(x) = x^2 + 4;
expr = W(5*y^2)
Символьные функции можно непосредственно использовать в символьных уравнениях, подставляя в уравнение имя функции.
Например, создадим символьную функцию , а затем зададим уравнение :
using Symbolics;
@variables x;
U(x) = x^2 + 5;
eq = U(x) + 2*x ~ 4
✏️Задание 4
Создайте в Engee символьную функцию . Затем задайте символьное уравнение и сохраните его в переменной eq.
Решение
using Symbolics;
@variables x;
W(x) = sin(x);
eq = W(x) + 3*x + 7 ~ 0