主要内容

解决符号方程

此示例显示了解决符号方程的基础知识。

解决二次方程

使用求解二次方程解决功能。

解决二次方程而不指定用于解决变量的变量。这解决功能选择X返回解决方案。

DISP('解决二次方程,而无需指定要解决的哪个变量。求解功能选择X返回解决方案。)disp('>> syms a b c x')disp('>> eqn = a * x ^ 2 + b * x + c == 0')disp('>> s =解决(EQN)')syms.一种B.CXeqn = a * x ^ 2 + b * x + c == 0 s =求解(EQN)
解决二次方程而不指定用于解决哪种变量。求解功能选择x返回解决方案。>> syms a b c x >> eqn = a*x^2 + b*x + c == 0 >> S = solve(eqn) eqn = a*x^2 + b*x + c == 0 S = -(b + (b^2 - 4*a*c)^(1/2))/(2*a) -(b - (b^2 - 4*a*c)^(1/2))/(2*a)

指定要解决的变量并解决二次方程一种

DISP('解决变量A')disp('sa =解决(eqn,a)')SA =解决(EQN,A)
求解变量A SA =求解(EQN,A)SA =  - (C + B * x)/ x ^ 2

求解多变量方程并将输出分配给结构

在解决多个变量时,将输出存储在结构阵列中比在单独的变量中更方便。这解决函数在指定单个输出参数和存在多个输出时返回一个结构。

解决方程系统以返回结构阵列中的解决方案。金宝搏官方网站

DISP('解决方程系统以在结构阵列中返回解决方案'金宝搏官方网站)disp('>> eqns = [2 * u + v == 0,u  -  v == 1];')disp('>> s =解决(EQNS,[U V])')syms.V.eqns = [2 * u + v == 0,u  -  v == 1];s =解决(EQN,[U V])
求解一个方程系统,以返回结构阵列中的解决方案>> EQNS = [2 * U金宝搏官方网站 + V == 0,U-V == 1];>> S =求解(EQN,[U V])S =结构与字段:U:[1x1 sym] v:[1x1 sym]

通过寻址结构的元素来访金宝搏官方网站问解决方案。

DISP('访问结构中的解决方案'金宝搏官方网站)disp('>> s.u')S.U DISP('>> s.v')S.V.
访问结构中的解决方案>金宝搏官方网站> S.U ANS = 1/3 >> S.V ANS = -2/3

使用结构阵列可以方便地将解决方案替换为其他表达式。金宝搏官方网站使用subs替代解决方案的功能金宝搏官方网站S.进入其他表达。

DISP(“使用子子功能将解决方案替换为其他表达式”金宝搏官方网站)disp('>> E1 =潜艇(U ^ 2,s)')E1 =潜艇(U ^ 2,s)disp('>> E2 =潜艇(3 * v + U,s)')E2 =潜艇(3 * V + U,S)
使用潜水子功能将解决方案替换为其他表达式>> E1 =子(U ^ 2,s)e1 金宝搏官方网站= 1/9 >> e2 = subs(3 * v + u,s)e2 = -5/3

如果是解决函数返回一个空对象,然后没有解决方案。金宝搏官方网站

DISP(“如果没有解决方案,则求解函数返回一个空对象”金宝搏官方网站)disp('>>解决([3 * U + 2,3 * U + 1],U)')S =解决([3 * U + 2,3 * U + 1],U)
如果不存在解决方案,则求解函数返回一个空对象>>解决([3 * u + 2,3 * u + 1],金宝搏官方网站u)s =空sym:0-by-1

数值解决方程

当。。。的时候解决函数不能象征性地解决方程,它试图找到一个数字解决方案使用vpasolve.功能。这vpasolve.函数返回找到的第一个解决方案。

尝试解决以下等式。这解决函数返回一个数字解决方案,因为它找不到符号解决方案。

DISP(“以下等式返回一个数字解决方案,因为求解功能找不到符号解决方案”)syms.XDISP('>> eqn = sin(x)== x ^ 2  -  1;')eqn = sin(x)== x ^ 2  -  1;DISP('>>解决(eqn,x)')s =解决(eqn,x)
以下等式返回一个数字解决方案,因为求解功能找不到符号解决方案>> EQN = SIN(x)== x ^ 2  -  1;>>解决(eqn,x)警告:无法象征性地解决。使用 vpasolve 返回数字解决方案。s = -0.63673265080528201088799090383828

绘制等式的左侧和右侧。观察到方程也有一个积极的解决方案。

DISP(“绘制了等式的左侧和右侧,看看方程也有一个积极的解决方案')disp('>> fplot([LHS(EQN)RHS(EQN)],[-2 2])')Fplot([LHS(EQN)RHS(EQN)],[-2 2])
绘制等式的左侧和右侧,看看等式还具有阳性解决方案>> Fplot([LHS(EQN)RHS(EQN)],[-2 2])

通过直接调用数字求解器查找其他解决方案vpasolve.并指定间隔。

DISP('通过调用数字求解器vpasolve'找到其他解决方案)disp('>> v = vpasolve(eqn,x,[0,2])')v = vpasolve(eqn,x,[0 2])
通过调用Numeric Solver VPasolve >> V = VPASOLVE(EQN,X,[0,2])v = 1.409624004002599705895