Решить следующее тригонометрическое уравнение используя 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