主要内容

替换符号表达式中的变量

求解下面的三角方程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用一个新的符号变量一个.首先,创建符号变量k而且一个.(求解器不创建变量k在MATLAB®工作空间)。

信谊k一

现在,使用潜艇函数来代替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

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

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

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

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

潜艇(solx params, vpa (2))
Ans = 2.5*pi 3.83333333333333333333333333333333333 *pi 5.1666666666666666666666666666666666666666667 *pi

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

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