符号表达式中的替代变量

使用返回条件解算器的选项以获得完整的解。解算器返回解、解中使用的参数以及这些参数的条件。

syms x eqn=sin(2*x)+cos(x)==0;[solx,params,conds]=求解(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')

替换参数用一个新的符号变量. 首先,创建符号变量. (解算器不创建变量在MATLAB中®工作区。)

西姆斯卡拉

现在,使用潜艇要替换的函数通过在解向量中溶剂,参数参数,和条件条件.

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,a,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

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

潜艇(solx,params,vpa(2))
ans=2.5*pi 3.8333333333333333333333333333*pi 5.16666666666666666666666666666666667*pi

vpa公司关于返回的结果潜艇.

vpa(子(solx,params,2))
ans=7.853981633974483096156084581988 12.042771838760874080773466302571 16.231562043547265065390324146944