matlab dy,怎么用MATLAB求解如Dy = y+1/y 的微分方程

共回答了25个问题采纳率:88%

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

1年前

11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值