Решите следующее тригонометрическое уравнение, используя ReturnConditions опция решателя для получения полного решения. Решатель возвращает решение, параметры, используемые в решении, и условия для этих параметров.
syms x eqn = sin(2*x) + cos(x) == 0; [solx, params, conds] = solve(eqn, x, 'ReturnConditions', true)
solx =
pi/2 + pi*k
2*pi*k - pi/6
(7*pi)/6 + 2*pi*k
params =
k
conds =
in(k, 'integer')
in(k, 'integer')
in(k, 'integer')Замените параметр k с новой символьной переменной a. Сначала создайте символьные переменные k и a. (Решатель не создает переменную k в рабочей области MATLAB ®.)
syms k a
Теперь используйте subs заменяемая функция k около a в векторе раствора solx, параметры paramsи условия conds.
solx = subs(solx, k, a) params = subs(params, k, a) conds = subs(conds, k, a)
solx =
pi/2 + pi*a
2*pi*a - pi/6
(7*pi)/6 + 2*pi*a
params =
a
conds =
in(a, 'integer')
in(a, 'integer')
in(a, 'integer')Предположим, вы знаете, что значение параметра a является 2. Замена a с 2 в векторе раствора solx.
subs(solx, a, 2)
ans = (5*pi)/2 (23*pi)/6 (31*pi)/6
В качестве альтернативы, заменить params с 2. Этот подход возвращает тот же результат.
subs(solx, params, 2)
ans = (5*pi)/2 (23*pi)/6 (31*pi)/6
Параметр подстановки a с числом с плавающей запятой. Панель инструментов преобразует числа в значения с плавающей запятой, но сохраняет неизменность символьных выражений, таких как sym(pi), exp(sym(1))и так далее.
subs(solx, params, vpa(2))
ans =
2.5*pi
3.8333333333333333333333333333333*pi
5.1666666666666666666666666666667*piАппроксимировать результат подстановки значениями с плавающей запятой с помощью vpa по результату, возвращенному subs.
vpa(subs(solx, params, 2))
ans = 7.8539816339744830961566084581988 12.042771838760874080773466302571 16.231562043547265065390324146944