Main Content

odetovectorfield.GyD.F4y2Ba

将微分方程的顺序减少到一阶GyD.F4y2Ba

金宝app将在将来的版本中删除对字符向量或字符串输入的支持。相反,使用GyD.F4y2BaSyms.GyD.F4y2Ba要声明变量,并替换诸如此类的输入GyD.F4y2Baodetovectorfield('d2y = x')GyD.F4y2Ba借GyD.F4y2Basyms y(x),odetovectorfield(diff(y,x,2)== x)GyD.F4y2Ba。GyD.F4y2Ba

Description

例GyD.F4y2Ba

V.GyD.F4y2Ba= odetovectorfield(GyD.F4y2Baeqn1,...,eqnN)GyD.F4y2Baconverts higher-order differential equationseqn1,...,eqnN到一阶微分方程系统,作为符号矢量返回。GyD.F4y2Ba

例GyD.F4y2Ba

[GyD.F4y2BaV.GyD.F4y2Ba那GyD.F4y2BaS.GyD.F4y2Ba] = odetovectorfield(GyD.F4y2Baeqn1,...,eqnN)GyD.F4y2Baconvertseqn1,...,eqnN并返回两个符号向量。第一个矢量GyD.F4y2BaV.GyD.F4y2Ba一世s the same as the output of the previous syntax. The second vectorS.GyD.F4y2Bashows the substitutions made to obtainV.GyD.F4y2Ba。GyD.F4y2Ba

Examples

collapse all

定义二阶微分方程:GyD.F4y2Ba

D.GyD.F4y2Ba 2GyD.F4y2Ba yGyD.F4y2Ba DT.GyD.F4y2Ba 2GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba T.GyD.F4y2Ba =GyD.F4y2Ba 3.GyD.F4y2Ba T.GyD.F4y2Ba 。GyD.F4y2Ba

二阶微分方程转换为一种system of first-order differential equations.

Syms.GyD.F4y2Bay(T.)GyD.F4y2Baeqn = diff(y,2) + y^2*t == 3*t; V = odeToVectorField(eqn)
v =GyD.F4y2Ba

(GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba 3.GyD.F4y2Ba T.GyD.F4y2Ba -GyD.F4y2Ba T.GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba 2GyD.F4y2Ba )GyD.F4y2Ba [Y(2);3.*T.-T.*y(1)^2]

元素V.R.epresent the system of first-order differential equations, wherev [i]GyD.F4y2Ba=GyD.F4y2Ba yGyD.F4y2Ba 一世GyD.F4y2Ba 'GyD.F4y2Ba 一种ND.GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 。这里,输出GyD.F4y2BaV.GyD.F4y2BaR.epresents these equations:

D.GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba DT.GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba

dyGyD.F4y2Ba 2GyD.F4y2Ba DT.GyD.F4y2Ba =GyD.F4y2Ba 3.GyD.F4y2Ba T.GyD.F4y2Ba -GyD.F4y2Ba T.GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba 2GyD.F4y2Ba 。GyD.F4y2Ba

有关输入和输出之间关系的详细信息,请参阅GyD.F4y2BaAlgorithms。GyD.F4y2Ba

在减少微分方程的顺序时,返回替换GyD.F4y2Baodetovectorfield.GyD.F4y2Ba通过指定第二个输出参数来制作。GyD.F4y2Ba

Syms.GyD.F4y2Baf(t)GyD.F4y2Bag(t)GyD.F4y2Baeqn1 = diff(g) == g-f; eqn2 = diff(f,2) == g+f; eqns = [eqn1 eqn2]; [V,S] = odeToVectorField(eqns)
v =GyD.F4y2Ba

(GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 3.GyD.F4y2Ba yGyD.F4y2Ba 3.GyD.F4y2Ba -GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba [Y(2);Y(1)+ y(3);Y(3) - Y(1)]GyD.F4y2Ba

S.=GyD.F4y2Ba

(GyD.F4y2Ba FGyD.F4y2Ba DF.GyD.F4y2Ba GGyD.F4y2Ba )GyD.F4y2Ba [F;DF;G]GyD.F4y2Ba

元素GyD.F4y2BaV.GyD.F4y2BaR.epresent the system of first-order differential equations, wherev [i]GyD.F4y2Ba=GyD.F4y2Ba yGyD.F4y2Ba 一世GyD.F4y2Ba 'GyD.F4y2Ba 。The output S shows the substitutions being made, S[1] = yGyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba FGyD.F4y2Ba ,s [2] =GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba =GyD.F4y2Ba差异(f)GyD.F4y2Ba和s [3] =GyD.F4y2Ba yGyD.F4y2Ba 3.GyD.F4y2Ba =GyD.F4y2Ba GGyD.F4y2Ba 。GyD.F4y2Ba

通过减少方程的顺序来解决数字地解决高阶微分方程,产生MATLAB®功能手柄,然后使用该方法找到数值解决方案GyD.F4y2Baode45功能。GyD.F4y2Ba

Convert the following second-order differential equation to a system of first-order differential equations by usingodetovectorfield.GyD.F4y2Ba。GyD.F4y2Ba

D.GyD.F4y2Ba 2GyD.F4y2Ba yGyD.F4y2Ba D.GyD.F4y2Ba T.GyD.F4y2Ba 2GyD.F4y2Ba =GyD.F4y2Ba (GyD.F4y2Ba 1GyD.F4y2Ba -GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba )GyD.F4y2Ba dyGyD.F4y2Ba DT.GyD.F4y2Ba -GyD.F4y2Ba yGyD.F4y2Ba 。GyD.F4y2Ba

Syms.GyD.F4y2Bay(T.)GyD.F4y2Baeqn = diff(y,2) == (1-y^2)*diff(y)-y; V = odeToVectorField(eqn)
v =GyD.F4y2Ba

(GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba -GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba 2GyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba -GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba [Y(2);- (y(1)^ 2 - 1)* y(2) - y(1)]GyD.F4y2Ba

生成MATLAB功能句柄GyD.F4y2BaV.GyD.F4y2Baby usingmatlabfunction.GyD.F4y2Ba。GyD.F4y2Ba

m = matlabfunction(v,GyD.F4y2Ba'vars'GyD.F4y2Ba那{'T'GyD.F4y2Ba那GyD.F4y2Ba'Y'})
m =GyD.F4y2Bafunction_handle具有值:GyD.F4y2Ba@(t,y)[y(2);-( y(1)。^ 2-1.0)。* y(2)-y(1)]GyD.F4y2Ba

S.pecify the solution interval to be[0.20.]GyD.F4y2Ba和初始条件GyD.F4y2Ba yGyD.F4y2Ba 'GyD.F4y2Ba (GyD.F4y2Ba 0.GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba 2GyD.F4y2Ba 一种ND.GyD.F4y2Ba yGyD.F4y2Ba 'GyD.F4y2Ba 'GyD.F4y2Ba (GyD.F4y2Ba 0.GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba 0.GyD.F4y2Ba 。通过使用解决一阶微分方程系统GyD.F4y2Baode45。GyD.F4y2Ba

间隔= [0 20];yinit = [2 0];ysol = ode45(m,间隔,yinit);GyD.F4y2Ba

Next, plot the solution yGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 在间隔内GyD.F4y2Ba T.GyD.F4y2Ba =GyD.F4y2Ba[0.20.]GyD.F4y2Ba。生成值GyD.F4y2BaT.GyD.F4y2Baby usingLinspace.GyD.F4y2Ba。Evaluate the solution for yGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba ,这是第一个索引GyD.F4y2Baysol.GyD.F4y2Ba,通过致电GyD.F4y2Ba贬GyD.F4y2BaFunction with an index of 1. Plot the solution using情节GyD.F4y2Ba。GyD.F4y2Ba

T.V.一种lues = linspace(0,20,100); yValues = deval(ySol,tValues,1); plot(tValues,yValues)

Convert the second-order differential equation yGyD.F4y2Ba 'GyD.F4y2Ba 'GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba XGyD.F4y2Ba 初始条件GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba 0.GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba 一种GyD.F4y2Ba T.o a first-order system.

Syms.GyD.F4y2Bay(X)GyD.F4y2Ba一种GyD.F4y2Baeqn = diff(y,x,2)== x;Cond = Y(0)== a;v = odetovectorfield(eqn,cond)GyD.F4y2Ba
v =GyD.F4y2Ba

(GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba XGyD.F4y2Ba )GyD.F4y2Ba [Y(2);X]GyD.F4y2Ba

输入参数GyD.F4y2Ba

collapse all

高阶微分方程,指定为符号微分方程或符号微分方程阵列。使用GyD.F4y2Ba==GyD.F4y2Ba操作员创建等式。使用GyD.F4y2Ba差GyD.F4y2BaFunction to indicate differentiation. For example, representD.GyD.F4y2Ba2GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba/GyD.F4y2BaDT.GyD.F4y2Ba2GyD.F4y2Ba=GyD.F4y2BaT.GyD.F4y2BayGyD.F4y2Ba(GyD.F4y2BaT.GyD.F4y2Ba)GyD.F4y2Ba通过输入以下命令。GyD.F4y2Ba

Syms y(t)eqn = diff(y,2)== t * y;GyD.F4y2Ba

输出参数GyD.F4y2Ba

collapse all

一阶微分方程,作为符号表达式或符号表达的向量返回。该矢量的每个元素是一阶微分方程的右侧GyD.F4y2BayGyD.F4y2Ba[GyD.F4y2Ba一世GyD.F4y2Ba]'=GyD.F4y2BaV.GyD.F4y2Ba[GyD.F4y2Ba一世GyD.F4y2Ba]GyD.F4y2Ba。GyD.F4y2Ba

以一阶方程的替换,作为象征性表达的向量返回。载体的元素代表替代,使得这一点GyD.F4y2BaS.(1)=y[1]GyD.F4y2Ba那GyD.F4y2Bas(2)= y [2]GyD.F4y2Ba那......。GyD.F4y2Ba

Tips

  • To solve the resulting system of first-order differential equations, generate a MATLAB®GyD.F4y2Ba功能手柄使用GyD.F4y2Bamatlabfunction.GyD.F4y2Ba借GyD.F4y2BaV.GyD.F4y2Ba作为一个输入。然后,使用生成的MATLAB函数手柄作为MATLAB数值求解器的输入GyD.F4y2Baode23orode45。GyD.F4y2Ba

  • odetovectorfield.GyD.F4y2Bacan convert only quasi-linear differential equations. That is, the highest-order derivatives must appear linearly. For example,odetovectorfield.GyD.F4y2Bacan convertyGyD.F4y2Ba*GyD.F4y2BayGyD.F4y2Ba“(GyD.F4y2BaT.GyD.F4y2Ba)= -GyD.F4y2BaT.GyD.F4y2Ba2GyD.F4y2Ba因为它可以被重写为GyD.F4y2BayGyD.F4y2Ba“(GyD.F4y2BaT.GyD.F4y2Ba)= -GyD.F4y2BaT.GyD.F4y2Ba2GyD.F4y2Ba/GyD.F4y2BayGyD.F4y2Ba。但是,它无法转换GyD.F4y2BayGyD.F4y2Ba“(GyD.F4y2BaT.GyD.F4y2Ba)GyD.F4y2Ba2GyD.F4y2Ba= -GyD.F4y2BaT.GyD.F4y2Ba2GyD.F4y2Baor罪(GyD.F4y2BayGyD.F4y2Ba“(GyD.F4y2BaT.GyD.F4y2Ba))= -GyD.F4y2BaT.GyD.F4y2Ba2GyD.F4y2Ba。GyD.F4y2Ba

Algorithms

To convert anNGyD.F4y2BaT.h-order differential equation

一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba NGyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba ......GyD.F4y2Ba +GyD.F4y2Ba 一种GyD.F4y2Ba 1GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba 'GyD.F4y2Ba +GyD.F4y2Ba 一种GyD.F4y2Ba 0.GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba +GyD.F4y2Ba R.GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba 0.GyD.F4y2Ba

进入一阶微分方程的系统,GyD.F4y2Baodetovectorfieldmakes these substitutions.

yGyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 'GyD.F4y2Ba yGyD.F4y2Ba 3.GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba “GyD.F4y2Ba ......GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 2GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba

Using the new variables, it rewrites the equation as a system ofNGyD.F4y2Ba一阶微分方程:GyD.F4y2Ba

yGyD.F4y2Ba 1GyD.F4y2Ba 'GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 'GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba 'GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba “GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba 3.GyD.F4y2Ba ......GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba 'GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba (GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba 'GyD.F4y2Ba =GyD.F4y2Ba -GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 2GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba NGyD.F4y2Ba -GyD.F4y2Ba 1GyD.F4y2Ba -GyD.F4y2Ba ......GyD.F4y2Ba -GyD.F4y2Ba 一种GyD.F4y2Ba 1GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba 2GyD.F4y2Ba -GyD.F4y2Ba 一种GyD.F4y2Ba 0.GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba yGyD.F4y2Ba 1GyD.F4y2Ba +GyD.F4y2Ba R.GyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba 一种GyD.F4y2Ba NGyD.F4y2Ba (GyD.F4y2Ba T.GyD.F4y2Ba )GyD.F4y2Ba

odetovectorfield.GyD.F4y2Ba作为向量的元素返回这些方程的右侧GyD.F4y2BaV.GyD.F4y2Ba和作为第二个产量所做的替换GyD.F4y2BaS.GyD.F4y2Ba。GyD.F4y2Ba

Compatibility Considerations

展开全部GyD.F4y2Ba

Warns starting in R2019b

也可以看看GyD.F4y2Ba

|GyD.F4y2Ba|GyD.F4y2Ba|GyD.F4y2Ba

Introduced in R2012a