解决代数方程

符号数学工具箱™提供符号和数值方程求解器。本主题向您展示如何使用符号求解器象征性地解决一个方程解决.要比较符号解算器和数字解算器,请参见选择数字或符号求解器

解一个方程

如果eqn是一个方程,解决(eqn x)解决了eqn对于符号变量x

使用==算子来指定熟悉的二次方程并使用它求解解决

x = a*x^2 + b*x + c = 0;求解(eqn, x)
solx = - (b + b ^ 2 - 4 * * c) ^ (1/2)) / (2 *) - (b - b (^ 2 - 4 * * c) ^ (1/2)) / (2 *)

solx是包含二次方程的两个解的符号向量。金宝搏官方网站如果输入eqn是表达式而不是方程,解决解决了方程eqn = = 0

来解出一个变量x,指定该变量。例如,解决eqnb

求解(eqn, b)
Solb = -(a*x^2 + c)/x

如果没有指定变量,解决使用symvar选择要求解的变量。例如,解决(eqn)解决了eqnx

返回方程的完整解

解决不会自动返回一个方程的所有解。金宝搏官方网站解方程cos (x) = = sin (x).的解决函数返回多个解决方案中的一个。金宝搏官方网站

求解(cos(x) = -sin(x), x)
solx = -π/ 4

若要返回所有解决方案以及解决金宝搏官方网站方案中的参数和解决方案上的条件,请设置ReturnConditions选项真正的.解同样的方程得到完整解。提供三个输出变量:用于解决方案x,表示溶液中的参数,表示溶液的条件。

syms x [solx, param, cond] = solve(cos(x) == -sin(x), x, 'ReturnConditions', true)
2 . param = k, cond = in(k, 'integer')

solx包含以下问题的解决方案x,这是π* k -π/ 4.的参数变量指定解决方案中的参数,即k.的气孔导度变量指定条件(k,“整数”)在解上,这意味着k必须是整数。因此,解决返回从点开始的周期解π/ 4哪个重复的间隔π* k,在那里k是一个整数。

使用solve返回的完整解决方案、参数和条件

所返回的解决方案、参数和条件可以金宝搏官方网站使用解决求解在一个区间内金宝搏官方网站或在附加条件下找到解

寻找值x在这一期间< x < 2 * 2 *ππ,解决solxk在这个条件下气孔导度.假设的条件气孔导度使用假设

假设solk = (-2*pi
              
索克= -1 0 1 2

寻找值x对应于这些值的k,使用潜艇来代替ksolx

Xvalues = subs(solx, solk)
x = -(5*)/4 -(4 *)/4 (3*)/4 (7*)/4

要将这些符号值转换为数值值以便在数值计算中使用,请使用vpa

xvalues = vpa (xvalues)
Xvalues = -3.9269908169872415480783042290994 -0.78539816339744830961566084581988 2.356194490192344928469825374596 5.4977871437821381673096259207391

可视化并绘制由solve返回的解决方案金宝搏官方网站

前面的部分使用了解决来解这个方程cos (x) = = sin (x).这个方程的解可以用绘图函数如fplot散射

把方程两边都画出来cos (x) = = sin (x)

fplot (cos (x))网格fplot (sin (x))标题(方程两边都是cos(x) = -sin(x))传说(“cos (x)”“sin (x)”“位置”“最佳”“自动更新”“关闭”

计算函数的值x,并将解作为点叠加金宝搏官方网站散射

yvalues = cos (xvalues)
yvalues =

- 0.70710678118654752440084436210485 0.70710678118654752440084436210485 - 0.70710678118654752440084436210485 0.70710678118654752440084436210485 (vpa (0.70710678118654752440084436210485);vpa (0.70710678118654752440084436210485);vpa (0.70710678118654752440084436210485);vpa (0.70710678118654752440084436210485)]

散射(xvalues yvalues)

如预期的那样,解出现在两条曲线的交金宝搏官方网站点上。

简化复杂的结果,提高性能

如果结果看起来很复杂,解决卡住了,或者如果你想提高性能,从解函数中排除方程解金宝搏官方网站