Чтобы решить математические задачи с Symbolic Math Toolbox™, символьные объекты заданы, чтобы представлять различные математические объекты. Этот пример обсуждает использование символьных чисел, переменных, функций, выражений, векторов и символьных матриц, чтобы выполнить символьные расчеты, которые решают математические задачи.
Используйте символьное число, чтобы представлять аргумент обратной тригонометрической функции . Определение когда символьное число дает MATLAB® команду обрабатывать номер как точную форму вместо числового приближения.
Создайте символьное число использование sym
, и присвойте его a
.
a = 1/sqrt(sym(2))
a = 2^(1/2)/2
Найдите обратный синус a
. Результатом является символьное число pi/4
.
thetaSym = asin(a)
thetaSym = pi/4
Можно преобразовать символьное число в арифметику переменной точности при помощи vpa
. Результатом является десятичное число с 32 значительными цифрами.
thetaVpa = vpa(thetaSym)
thetaVpa = 0.78539816339744830961566084581988
Чтобы преобразовать символьное число в числовой двойной тип данных, используйте double
. Для получения дополнительной информации о том, использовать ли числовую или символьную арифметику, смотрите, Выбирают Numeric or Symbolic Arithmetic.
thetaDouble = double(thetaSym)
thetaDouble = 0.7854
Используйте символьную переменную, функцию и выражение, чтобы представлять квадратичную функцию . Определение переменных, функций и выражений как символьные объекты позволяет вам выполнить алгебраические операции с теми символьными объектами, включая упрощение формул и решение уравнений.
Создайте символьную переменную x
использование syms
. Для получения дополнительной информации о том, использовать ли syms
или sym
, смотрите Выбирают Функция sym или syms. Задайте символьное выражение x^2 + x - 2
представлять правую сторону квадратного уравнения и присваивать его f(x)
. Идентификатор f(x)
символьная функция, которая представляет квадратичную функцию.
syms x f(x) = x^2 + x - 2
f(x) = x^2 + x -2
Можно затем выполнить квадратичную функцию путем обеспечения ее входного параметра в круглой скобке. Например, оцените f(2)
.
fVal = f(2)
fVal = 4
Затем решите квадратное уравнение . Используйте solve
найти корни квадратного уравнения. solve
возвращает эти два решения как вектор из двух символьных чисел.
sols = solve(f)
sols = -2 1
Используйте символьное уравнение, чтобы решить тригонометрическую задачу .
Создайте символьный функциональный g(t)
использование syms
. Присвойте символьное выражение 2*sin(t)*cos(t)
к g(t)
.
syms g(t) g(t) = 2*sin(t)*cos(t)
g(t) = 2*cos(t)*sin(t)
==
оператор и присвоение выражение g(t) == 1
к eqn
. Идентификатор eqn
символьное уравнение, которое представляет тригонометрическую проблему.eqn = g(t) == 1
eqn = 2*cos(t)*sin(t) == 1
Используйте solve
найти решение тригонометрической проблемы.
sol = solve(eqn)
sol = pi/4
Используйте символьный вектор и матрицу, чтобы представлять и решить систему линейных уравнений.
Можно снять систему уравнений в качестве вектора из двух символьных уравнений. Можно также снять систему уравнений в качестве матричной проблемы, включающей символьную матрицу и вектор.
Создайте два символьных уравнения eq1
и eq2
. Объедините эти два уравнения в вектор из символьных уравнений. Для краткости любой вектор из символьных объектов называется символьным вектором, и любая матрица символьных объектов называется символьной матрицей.
syms u v x y eq1 = x + 2*y == u; eq2 = 4*x + 5*y == v; eqns = [eq1, eq2]
eqns = [x + 2*y == u, 4*x + 5*y == v]
Используйте solve
найти решения системы уравнений eqns
. solve
возвращает структуру S
с полями, названными в честь каждой из переменных в уравнениях. Можно получить доступ к решениям с помощью записи через точку S.x
и S.y
.
S = solve(eqns); S.x
ans = (2*v)/3 - (5*u)/3
S.y
ans = (4*u)/3 - v/3
Другая альтернатива, чтобы решить систему линейных уравнений должна преобразовать его в матричную форму. Используйте equationsToMatrix
преобразовывать систему уравнений в матричную форму и присваивать выход A
и b
A
символьная матрица и b
символьный вектор. Решите матричную задачу при помощи матричного деления \оператор.
[A,b] = equationsToMatrix(eqns,x,y)
A = [1, 2] [4, 5] b = u v
sols = A\b
sols = (2*v)/3 - (5*u)/3 (4*u)/3 - v/3
Эта таблица сравнивает различные символьные объекты, которые доступны в Symbolic Math Toolbox.
Символьные объекты | Примеры Команд MATLAB | Размер символьных объектов | Тип данных |
---|---|---|---|
символьное число |
a = 1/sqrt(sym(2)) theta = asin(a) a = 2^(1/2)/2 theta = pi/4 | 1 - 1 | sym |
символьная переменная |
syms x y u v | 1 - 1 | sym |
символьная функция |
syms x f(x) = x^2 + x - 2 syms g(t) g(t) = 2*sin(t)*cos(t) f(x) = x^2 + x - 2 g(t) = 2*cos(t)*sin(t) | 1 - 1 | symfun |
символьное уравнение |
syms u v x y eq1 = x + 2*y == u eq2 = 4*x + 5*y == v eq1 = x + 2*y == u eq2 = 4*x + 5*y == v | 1 - 1 | sym |
символьное выражение |
syms x expr = x^2 + x - 2 expr2 = 2*sin(x)*cos(x) expr = x^2 + x - 2 expr2 = 2*cos(x)*sin(x) | 1 - 1 | sym |
символьный вектор |
syms u v b = [u v] b = [u, v] | 1 - n или m - 1 | sym |
символьная матрица |
syms A x y A = [x y; x*y y^2] A = [ x, y] [x*y, y^2] | m - n | sym |
символьный многомерный массив |
syms A [2 1 2] A A(:,:,1) = A1_1 A2_1 A(:,:,2) = A1_2 A2_2 | sz1 - sz2 -...-szn | sym |