在符号表达式中替换变量
使用以下三角方程返回条件
求解器的选项以获取完整的解决方案。求解器返回解决方案,解决方案中使用的参数以及这些参数的条件。
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
和一种
。(求解器不会创建变量k
在matlab中®工作区。)
SYMS K A
现在,使用潜艇
替换功能k
经过一种
在溶液矢量中Solx
, 参数参数
和条件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')在(a,'整数')中
假设,您知道参数的值一种
是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
替代参数一种
带有浮点数。工具箱将数字转换为浮点值,但它保持完整的符号表达式,例如SYM(PI)
,,,,exp(sym(1))
, 等等。
subs(solx,params,vpa(2))
ANS = 2.5*PI 3.8333333333333333333333333333333333*PI 5.1666666666666666666666666666666666666666667*PI
近似使用浮点数的替换结果VPA
在返回的结果潜艇
。
VPA(subs(Solx,params,2))
ANS = 7.85398163397448309615666084581988 12.0427718376087408740807777777466302571