怎么用MATLAB求解如Dy = y+1/y 的微分方程
来源:学生作业帮 编辑:神马作文网作业帮 分类:英语作业 时间:2024/11/13 00:51:30
怎么用MATLAB求解如Dy = y+1/y 的微分方程
初值为y(0)=y0,请给一种这种非线性微分方程的普遍解法,
初值为y(0)=y0,请给一种这种非线性微分方程的普遍解法,
syms x y0
>> y=dsolve('Dy=y+1/y','y(0)=y0','x')
y =
(-1+exp(2*x)*(1+y0^2))^(1/2)
-(-1+exp(2*x)*(1+y0^2))^(1/2)
>> help dsolve
DSOLVE Symbolic solution of ordinary differential equations.
DSOLVE('eqn1','eqn2',...) accepts symbolic equations representing
ordinary differential equations and initial conditions.Several
equations or initial conditions may be grouped together,separated
by commas,in a single input argument.
By default,the independent variable is 't'.The independent variable
may be changed from 't' to some other symbolic variable by including
that variable as the last input argument.
The letter 'D' denotes differentiation with respect to the independent
variable,i.e.usually d/dt.A "D" followed by a digit denotes
repeated differentiation; e.g.,D2 is d^2/dt^2.Any characters
immediately following these differentiation operators are taken to be
the dependent variables; e.g.,D3y denotes the third derivative
of y(t).Note that the names of symbolic variables should not contain
the letter "D".
Initial conditions are specified by equations like 'y(a)=b' or
'Dy(a) = b' where y is one of the dependent variables and a and b are
constants.If the number of initial conditions given is less than the
number of dependent variables,the resulting solutions will obtain
arbitrary constants,C1,C2,etc.
Three different types of output are possible.For one equation and one
output,the resulting solution is returned,with multiple solutions to
a nonlinear equation in a symbolic vector.For several equations and
an equal number of outputs,the results are sorted in lexicographic
order and assigned to the outputs.For several equations and a single
output,a structure containing the solutions is returned.
If no closed-form (explicit) solution is found,an implicit solution is
attempted.When an implicit solution is returned,a warning is given.
If neither an explicit nor implicit solution can be computed,then a
warning is given and the empty sym is returned.In some cases involving
nonlinear equations,the output will be an equivalent lower order
differential equation or an integral.
Examples:
dsolve('Dx = -a*x') returns
ans = C1*exp(-a*t)
x = dsolve('Dx = -a*x','x(0) = 1','s') returns
x = exp(-a*s)
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns
y =
[ sin(t)]
[ -sin(t)]
S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
returns a structure S with fields
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
dsolve('Dy = y^2*(1-y^2)') returns
Warning:Explicit solution could not be found; implicit solution returned.
ans =
t+1/2*log(y-1)-1/2*log(y+1)+1/y+C1=0
dsolve('Df = f + sin(t)','f(pi/2) = 0')
dsolve('D2y = -a^2*y','y(0) = 1,Dy(pi/a) = 0')
S = dsolve('Dx = y','Dy = -x','x(0)=0','y(0)=1')
S = dsolve('Du=v,Dv=w,Dw=-u','u(0)=0,v(0)=0,w(0)=1')
w = dsolve('D3w = -w','w(0)=1,Dw(0)=0,D2w(0)=0')
y = dsolve('D2y = sin(y)'); pretty(y)
See also solve,subs.
Reference page in Help browser
doc dsolve
>> y=dsolve('Dy=y+1/y','y(0)=y0','x')
y =
(-1+exp(2*x)*(1+y0^2))^(1/2)
-(-1+exp(2*x)*(1+y0^2))^(1/2)
>> help dsolve
DSOLVE Symbolic solution of ordinary differential equations.
DSOLVE('eqn1','eqn2',...) accepts symbolic equations representing
ordinary differential equations and initial conditions.Several
equations or initial conditions may be grouped together,separated
by commas,in a single input argument.
By default,the independent variable is 't'.The independent variable
may be changed from 't' to some other symbolic variable by including
that variable as the last input argument.
The letter 'D' denotes differentiation with respect to the independent
variable,i.e.usually d/dt.A "D" followed by a digit denotes
repeated differentiation; e.g.,D2 is d^2/dt^2.Any characters
immediately following these differentiation operators are taken to be
the dependent variables; e.g.,D3y denotes the third derivative
of y(t).Note that the names of symbolic variables should not contain
the letter "D".
Initial conditions are specified by equations like 'y(a)=b' or
'Dy(a) = b' where y is one of the dependent variables and a and b are
constants.If the number of initial conditions given is less than the
number of dependent variables,the resulting solutions will obtain
arbitrary constants,C1,C2,etc.
Three different types of output are possible.For one equation and one
output,the resulting solution is returned,with multiple solutions to
a nonlinear equation in a symbolic vector.For several equations and
an equal number of outputs,the results are sorted in lexicographic
order and assigned to the outputs.For several equations and a single
output,a structure containing the solutions is returned.
If no closed-form (explicit) solution is found,an implicit solution is
attempted.When an implicit solution is returned,a warning is given.
If neither an explicit nor implicit solution can be computed,then a
warning is given and the empty sym is returned.In some cases involving
nonlinear equations,the output will be an equivalent lower order
differential equation or an integral.
Examples:
dsolve('Dx = -a*x') returns
ans = C1*exp(-a*t)
x = dsolve('Dx = -a*x','x(0) = 1','s') returns
x = exp(-a*s)
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns
y =
[ sin(t)]
[ -sin(t)]
S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
returns a structure S with fields
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
dsolve('Dy = y^2*(1-y^2)') returns
Warning:Explicit solution could not be found; implicit solution returned.
ans =
t+1/2*log(y-1)-1/2*log(y+1)+1/y+C1=0
dsolve('Df = f + sin(t)','f(pi/2) = 0')
dsolve('D2y = -a^2*y','y(0) = 1,Dy(pi/a) = 0')
S = dsolve('Dx = y','Dy = -x','x(0)=0','y(0)=1')
S = dsolve('Du=v,Dv=w,Dw=-u','u(0)=0,v(0)=0,w(0)=1')
w = dsolve('D3w = -w','w(0)=1,Dw(0)=0,D2w(0)=0')
y = dsolve('D2y = sin(y)'); pretty(y)
See also solve,subs.
Reference page in Help browser
doc dsolve
怎么用MATLAB求解如Dy = y+1/y 的微分方程
微分方程求解:型如dx=y+z;dy=x-z;dz=dx+3dy的微分方程用matlab能求解吗?
请帮忙用Matlab求解微分方程dy/dt=[k^(t-1)*y-d]y
用MATLAB求解微分方程dy/dx-2y/(x+1)=(x+1)^5/2
我想用matlab中的ode45 求解常微分方程(Dy)^2-3*Dy+2y=1,y(0)=1,Dy(0)=0.
微分方程d^2y/dt^2-dy/dt+y=1,y0=0,y1=0.怎么用matlab求解啊
微分方程dy/dx=x/y+k怎么求解?
如何用matlab求解dy/dt=1+y^2方程的解
求解微分方程dy/dx+x/2y=1/2
dy/dx=1/(x+y) 求解微分方程
请问用matlab怎么编程这个微分方程啊dy/dx=y-2*x/y,初值是y(0)=1.求y(1) ,急
matlab ode45求解微分方程 D2y-0.01*Dy.^2+2*y=sin(t),