主要内容

在符号表达式中替换变量

用。解下列三角方程ReturnConditions选择求解器以获得完整的解。解算器返回解、解中使用的参数以及这些参数的条件。

Syms x eqn = sin(2*x) + cos(x) = 0;[solx, params, conds] = solve(eqn, x, 'ReturnConditions', true)
(2) = pi/2 + pi*k - pi/6 (7*pi)/6 + 2*pi*k params = k conds = in(k, 'integer') in(k, 'integer') in(k, 'integer')

更换参数k用一个新的符号变量一个.首先,创建符号变量k一个.(求解器不创建变量k在MATLAB®工作空间)。

信谊k一

现在,使用潜艇函数来代替k通过一个在解向量中solx、参数参数个数,和条件气孔导度

Solx = subs(Solx, k, a) params = subs(params, k, a) conds = subs(conds, k, a)
(2) = pi/2 + pi*a - pi/6 (7*pi)/6 + 2*pi*a params = a conds = in(a, 'integer') in(a, 'integer')

假设,你知道参数的值一个2.替代一个2在解向量中solx

潜艇(solx, 2)
Ans = (5*pi)/2 (23*pi)/6 (31*pi)/6

另外,替补参数个数2.这种方法返回相同的结果。

潜艇(solx params, 2)
Ans = (5*pi)/2 (23*pi)/6 (31*pi)/6

替代参数一个浮点数。工具箱将数字转换为浮点值,但它保持符号表达式的完整性,例如信谊(π)exp(信谊(1)),等等。

潜艇(solx params, vpa (2))
ans = 2.5 * 3.8333333333333333333333333333333 * 5.1666666666666666666666666666667ππ*π

用浮点值来近似替换的结果vpa返回的结果潜艇

vpa(潜艇(solx参数2))
Ans = 7.8539816339744830961566084581988 12.042771838760874080773466302571 16.231562043547265065390324146944