主要内容

在符号表达式中替换变量

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

Syms x eqn = sin(2*x) + cos(x) == 0;[solx, params, conds] = solve(eqn, x, 'ReturnConditions', true)
Solx = /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') in(k, 'integer')

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

符号k a

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

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')

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

Subs (solx, a, 2)
Ans = (5*pi)/2 (23*pi)/6 (31*pi)/6

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

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

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

Subs (solx, params, vpa(2))
Ans = 2.5*pi 3.83333333333333333333333333333333333333333333333333333333333333333333333333333333333 *pi 5.166666666666666666666666666666666666666666667 *pi

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

Vpa (subs(solx, params, 2))
Ans = 7.8539816339744830961566084581988 12.042771838760874080773466302571 16.231562043547265065390324146944