主要内容

vpasolve

解决方程数值

描述

例子

年代= vpasolve (eqn,var)数值解决了方程eqn为变量var。如果你不指定var,vpasolve解决为默认变量所决定的symvar。例如,vpasolve (x + 1 = = 2,)数值解决了方程x+ 1 = 2x

例子

年代= vpasolve (eqn,var,init_param)数值解决了方程eqn为变量var使用最初的猜测或搜索范围init_param

例子

Y= vpasolve (命令,var)数值解决方程组命令为变量var。这个语法返回一个结构数组Y包含解决方案。金宝搏官方网站结构数组中的字段对应于指定的变量var。如果你不指定var,vpasolve解决为默认变量所决定的symvar

Y= vpasolve (命令,var,init_param)数值解决方程组命令为变量var使用最初的猜测或搜索范围init_param

例子

(…,yN日元)= vpasolve (命令,var)数值解决方程组命令为变量var。这个语法向变量分配的解决方案金宝搏官方网站…,yN日元。如果你不指定var,vpasolve解决为默认变量所决定的symvar

例子

(…,yN日元)= vpasolve (命令,var,init_param)数值解决方程组命令为变量var使用最初的猜测或搜索范围init_param

例子

___= vpasolve (___,“随机”,真正的)使用一个随机的初始猜测寻找解决方案。金宝搏官方网站使用这个输入来避免重复返回相同的解决方案为nonpolynomial方程。如果您指定初始猜测所有变量,设置“随机”真正的没有效果。

例子

全部折叠

解决一个多项式方程。对多项式方程,vpasolve返回所有的解决方案。金宝搏官方网站

信谊xS = vpasolve (x ^ 2 * 4 + 3 * x ^ 3 - 4 * * x x ^ 2 - 3 + 2 = = 0, x)
S =

( - - - - - - 2.0 - - - - - - 1.0 0.5 1.0 )

解决nonpolynomial方程。nonpolynomial方程,vpasolve返回第一个找到的解决方案。

S = vpasolve (sin (x) = = 1/2, x)
S =
                       
                        
                         
                          0.52359877559829887307710723054658
                        
                       

发现多个方程的解决方案金宝搏官方网站 2 0 0 ( x ) = x 3 - - - - - - 1 通过指定初始猜测当使用vpasolve

等式的左右。

信谊xeqnLeft = 200 * sin (x);eqnRight = x ^ 3 - 1;fplot ([eqnLeft eqnRight])标题([texlabel (eqnLeft)“=”texlabel (eqnRight)))

图包含一个坐标轴对象。坐标轴对象与标题2 0 0空白的年代我n (x)空白= x立方基线空白,空白1包含2 functionline类型的对象。

情节表明,方程有三个解决方案。金宝搏官方网站如果您没有指定初始猜测,vpasolve返回第一个找到的解决方案。

S1 = vpasolve (eqnLeft = = eqnRight, x)
S1 =
                       
                        
                         
                          
                           
                            - - - - - -
                           
                            0.0050000214585835715725440675982988
                          
                         
                        
                       

寻找另一个解决方案通过指定一个初始猜测是接近金宝搏官方网站的解决方案。

S2 = vpasolve (eqnLeft = = eqnRight x, 3)
S2 =
                       
                        
                         
                          
                           
                            - - - - - -
                           
                            3.0009954677086430679926572924945
                          
                         
                        
                       
S3 = vpasolve (eqnLeft = = eqnRight x, 4)
S3 =
                       
                        
                         
                          3.0098746383859522384063444361906
                        
                       

解决一个方程组。使用一个输出参数返回一个结构数组的形式的解决方案。金宝搏官方网站

信谊uvY = vpasolve ([v ^ 3 + 2 * u = = v, v ^ 2 = = u], [u, v])
Y =结构体字段:u (3 x1 sym): v: [3 x1 sym]

显示解决方案通过访问的字金宝搏官方网站段结构数组Y

uSol = Y.u
uSol =

( 0 5.8284271247461900976033774484194 0.1715728752538099023966225515806 )

vSol = Y.v
vSol =

( 0 - - - - - - 2.4142135623730950488016887242097 0.4142135623730950488016887242097 )

如果vpasolve无法找到一个解决方案,它将返回一个空对象。

信谊x命令= [3 * x + 2, 3 * x + 1);Y = vpasolve(方程式,x)
Y =空信谊:0-by-1

解方程组时,使用多个输出参数直接输出变量分配的解决方案。金宝搏官方网站解算器返回的顺序解决方案遵循您指定的顺序变量。金宝搏官方网站

信谊xy[sol_x, sol_y] = vpasolve ([x * sin (10 * x) = = y ^ 3, y ^ 2 = = exp (2 * x / 3)], [x, y])
sol_x =
                       
                        
                         
                          88.90707209659114864849280774681
                        
                       
sol_y =
                       
                        
                         
                          0.00000000000013470479710676694388973703681918
                        
                       

你可以指定一个方程的范围的解决方案。金宝搏官方网站例如,如果你想限制你的搜索唯一真正的解决方案,因为您不能使用假设金宝搏官方网站vpasolve忽略了假设。相反,指定一个搜索区间。下列方程,如果您不指定范围,数值解算器返回所有六个方程的解决方案。金宝搏官方网站

信谊xS = vpasolve (x ^ 6 - x ^ 2 = = 3, x)
S =

( - - - - - - 1.2929423350084724369196550436382 1.2929423350084724369196550436382 - - - - - - 0.50188125716943915856832436499602 - - - - - - 1.0429452224956770037495194222175 - - - - - - 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 0.50188125716943915856832436499602 - - - - - - 1.0429452224956770037495194222175 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 )

假设你只需要真正的方程的解决方案。金宝搏官方网站因为你不能使用假设变量vpasolve忽略了它们。

假设(x,“真实”的)S = vpasolve (x ^ 6 - x ^ 2 = = 3, x)
S =

( - - - - - - 1.2929423350084724369196550436382 1.2929423350084724369196550436382 - - - - - - 0.50188125716943915856832436499602 - - - - - - 1.0429452224956770037495194222175 - - - - - - 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 0.50188125716943915856832436499602 - - - - - - 1.0429452224956770037495194222175 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 )

指定搜索范围来限制返回的结果特定的范围。例如,回归方程唯一真正的解决方案,指定搜索区间金宝搏官方网站(负无穷到正无穷)

S = vpasolve (x ^ 6 - x ^ 2 = = 3, x,[负无穷到正无穷])
S =

( - - - - - - 1.2929423350084724369196550436382 1.2929423350084724369196550436382 )

返回非负的解决方案,指定搜索区间金宝搏官方网站[0正]

S = vpasolve (x ^ 6 - x ^ 2 = = 3, x,[0正])
S =
                       
                        
                         
                          1.2929423350084724369196550436382
                        
                       

搜索范围也可以包含复数,如(1,1 + 2)。在这种情况下,vpasolve使用矩形在复平面的搜索区域1指定搜索区域和手机的左下角时1 + 2我指定区域的右上角。

S = vpasolve (x ^ 6 - x ^ 2 = = 3, x,我][1 (1 + 2)
S =

( - - - - - - 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 0.50188125716943915856832436499602 + 1.0429452224956770037495194222175 )

找到以下方程组的解。

信谊xyeqn1 = exp (- x ^ 2 y ^ 2) * (* 4)——exp ((- x ^ 2 y ^ 2) / 2) * (x - 2) = = 0
eqn1 =

e - - - - - - x 2 - - - - - - y 2 x - - - - - - 4 - - - - - - e - - - - - - x 2 2 - - - - - - y 2 2 x - - - - - - 2 = 0

eqn2 = exp (- x ^ 2 y ^ 2) * (y 2)——exp ((- x ^ 2 y ^ 2) / 2) *(4元)= = 0
eqn2 =

e - - - - - - x 2 - - - - - - y 2 y - - - - - - 2 - - - - - - e - - - - - - x 2 2 - - - - - - y 2 2 y - - - - - - 4 = 0

为变量找到解决方案xy没有指定初始猜测。vpasolve无法找到一个解决方案,它会返回一个空对象。

[solX,还]= vpasolve ([eqn1 eqn2], [x y])
solX =空信谊:0-by-1还=空信谊:0-by-1

现在指定初始猜测x = 2y = 4vpasolve返回解决方案接近最初的猜金宝搏官方网站测。

[solX,还]= vpasolve ([eqn1 eqn2], [x y], [2;4))
solX =
                       
                        
                         
                          1.9999092125057125429174334656647
                        
                       
我还=
                       
                        
                         
                          4.0000907874942874570825665343353
                        
                       

默认情况下,vpasolve在每个调用返回相同的解决方案。找到nonpolynomial方程的多个解决方案,集“随机”真正的。这使得vpasolve使用一个随机的初始猜测这可能导致不同的解决方案在连续的调用。金宝搏官方网站

如果“随机”没有指定,在每次调用vpasolve返回相同的解决方案。

信谊xf = x) * tan (x);n = 1:3 S = vpasolve (f (x)结束
S =
                       
                        
                         
                          0
                        
                       
S =
                       
                        
                         
                          0
                        
                       
S =
                       
                        
                         
                          0
                        
                       

“随机”被设置为true, vpasolve每个调用返回一个不同的解决方案。

n = 1:3 S = vpasolve (f, x,“随机”,真正的)结束
S =
                       
                        
                         
                          
                           
                            - - - - - -
                           
                            227.76107684764829218924973598808
                          
                         
                        
                       
S =
                       
                        
                         
                          102.09196646490764333652956578441
                        
                       
S =
                       
                        
                         
                          61.244730260374400372753016364097
                        
                       

“随机”选项可用于与一个搜索范围。

S = vpasolve (f, x,(十12),“随机”,真正的)
S =
                       
                        
                         
                          10.904121659428899827148702790189
                        
                       

输入参数

全部折叠

方程来解决,指定为一个象征性的方程或符号表达式。一个象征性的算子方程定义的关系= =。如果eqn是一个象征性的表达(没有右边),解算器假定右边是0,并解决了方程eqn = = 0

变量来解决方程,指定为一个符号变量。如果var没有指定,symvar决定的变量。

解决方程组或表达式,指定为一个符号向量,矩阵,或一系列的方程表达式。这些方程或表达式也可以由逗号分隔。如果一个方程是一个象征性的表达(没有右边),方程的解算器假定右边是0。

变量来求解方程组,指定为一个符号向量或符号矩阵。这些变量被指定为一个向量或逗号分隔的列表。如果var没有指定,symvar决定的变量。

初始猜测或搜索范围的解决方案,指定为一个数值,与两个列向量或矩阵。

如果init_param是一个数字,或者在多元方程,向量的数字,那么数值解算器使用它作为一个初始猜测。如果init_param被指定为一个标量,而多元方程组,然后数值解算器使用标量值作为所有变量的初始猜测。例如,看到的找到多种解决方案通过指定初始金宝搏官方网站猜测

如果init_param两列的矩阵,那么两个条目的行指定一个初始猜测的范围对应的变量。指定一个初始猜测一个矩阵的搜索范围,同时指定列的初始猜测值。

如果您指定init_param作为一个搜索范围[b]和值a、b是复数,那么vpasolve搜索的解决方案在复平面矩形的搜索区金宝搏官方网站域。在这里,一个指定矩形的左下角角落搜索区域,和b指定区域的右上角。例如,看到的指定范围的解决方案金宝搏官方网站

省略一个搜索范围一组变量,变量的搜索范围(南南)init_param。所有的其他用途init_param将错误。

输出参数

全部折叠

金宝搏官方网站解决方案的单变量方程,作为象征价值或象征性的数组返回。符号数组的大小对应的解决方案的数量。金宝搏官方网站

金宝搏官方网站解方程组,作为一个结构数组返回。结构数组中对应的字段数,变量需要解决的数量。

变量被分配解方程组,作为一个数组返回的数字或符号变量。金宝搏官方网站输出变量或符号数组的数量必须等于变量需要解决的数量。如果您显式地指定独立变量var,那么解算器使用相同的顺序返回的解决方案。金宝搏官方网站如果你不指定var按字母顺序,工具箱中独立变量,然后分配解决方案为这些变量输出变量或符号数组。金宝搏官方网站

提示

  • 如果vpasolve无法找到一个解决方案,它将返回一个空对象。提供最初的想帮助解决者寻找解决方案。例如,看到的提供最初的想找到解决方案金宝搏官方网站

  • 对多项式方程,vpasolve返回所有的解决方案。金宝搏官方网站nonpolynomial方程,没有通用的找到所有的解决方案和方法金宝搏官方网站vpasolve默认只返回一个解决方案。找到nonpolynomial几个不同的解决方案,您金宝搏官方网站可以设置“随机”真正的和使用vpasolve反复。

  • 当你解决一个方程组nonunique解决方案,的行为金宝搏官方网站vpasolve取决于系统多项式或nonpolynomial。如果多项式,vpasolve返回所有解决方案通过引入金宝搏官方网站任意参数。如果nonpolynomial,返回一个数值解,如果它存在。

  • 当你解决一个理性的方程组,vpasolve将rational方程转换为分母多项式相乘。vpasolve返回所有结果多项式系统的金宝搏官方网站解决方案,包括分母的根源。

  • vpasolve忽略了假设变量。你可以将返回的结果限制在特定的范围通过指定适当的使用参数搜索范围init_param

  • 输出变量…,yN日元没有指定的变量vpasolve解决了方程或系统。如果…,yN日元的变量出现在吗命令,这并不能保证vpasolve(命令)分配的解决方案吗金宝搏官方网站…,yN日元用正确的顺序。因此,调用[a, b] = vpasolve(命令),你可能会得到解决方案金宝搏官方网站一个分配给b反之亦然。

    为了确保返回的顺序解决方案,指定变量金宝搏官方网站var。例如,电话[b] = vpasolve(方程式,[b])分配的解决方案金宝搏官方网站一个分配给一个和解决方案金宝搏官方网站b分配给b

  • 你可以解决方程象征性地使用解决,然后用数值近似结果vpa。使用这种方法,您得到的数值近似解发现的象征性的解决者。金宝搏官方网站然而,这可以降低计算速度自解决象征性和后处理结果比直接使用数字解算器需要更多时间vpasolve

算法

  • 当您设置“随机”真正的并指定一个搜索范围变量,随机初始猜测在搜索范围内选择使用内部随机数字生成器(均匀分布)。

  • 当您设置“随机”真正的并没有指定一个搜索范围变量,随机生成初始猜测使用柯西分布的半宽度One hundred.。这意味着最初的猜测是真实的价值和有一个大的传播价值重复调用。

版本历史

介绍了R2012b

全部展开

行为改变R2021b