在符号表达式中替换变量
求下列三角方程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