经典难题:求解微分方程yn y 0的通解''=y*y'。

扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
讨论二阶常系数线性齐次微分方程通解的形式求解微分方程:y''+y'-2y=x²
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
先求齐次解y''+y'-2y=0特征根方程r^2+r-2=0r=2,-1y=Ae^(2x)+Be^(-x)然后找特解待定系数,因为右端项为x^2猜测y=ax^2+bx+cy'=2ax+by''=2a2a+2ax+b-2(ax^2+bx+c)=x^2-2ax^2+(2a-2b)x+...
为您推荐:
扫描下载二维码matlab求解微分方程
为微分方程或微分方程组,是初始条件或边界条件,是独立变量,默认的独立变量是't'。
dsolve('Dy=1/(x+y)','x')&
Y2=dsolve('y*D2y-Dy^2=0','x')&&
&&Y2=dsolve('D2y*y-Dy^2=0','x')&
[X,Y]=dsolve('Dx+5*x+y=exp(t),Dy-x-3*y=exp(2*t)','t')&
[X,Y]=dsolve('Dx+2*x-Dy=10*cos(t),Dx+Dy+2*y=4*exp(-2*t)','x(0)=2,y(0)=0','t')&
递增或递减
y=dsolve('Dy=-2*y+2*x^2+2*x','y(0)=1','x')
x=0:0.01:0.5;
yy=subs(y,x);
fun=inline('-2*y+2*x*x+2*x');
[x,y]=ode15s(fun,[0:0.01:0.5],1);
ys=x.*x+exp(-2*x);
plot(x,y,'r',x,ys,'b')&
(函数以及所有偏导数军委一次幂的是现性方程,高于一次的为非线性方程)
【例1】采用ODE解算指令研究围绕地球旋转的卫星轨道。
(1)问题的形成
轨道上的卫星,在牛顿第二定律,和万有引力定律作用下有
&,引力常数G=6.672*10-11(N.m2/kg2)&&,ME=5.97*1024(kg)是地球的质量。假定卫星以初速度vy(0)=4000m/s在x(0)=-4.2*107(m)处进入轨道。
(2)构成一阶微分方程组
令&&&&&&&&&&
(3)根据上式
function&Yd=DYdt(t,Y)&
global&G&ME
xy=Y(1:2);Vxy=Y(3:4);
r=sqrt(sum(xy.^2));
Yd=[V-G*ME*xy/r^3];
global&G&ME
G=6.672e-11;ME=5.97e24;vy0=4000;x0=-4.2e7;t0=0;tf=60*60*24*9;
tspan=[t0,tf];
Y0=[x0;0;0;vy0];
[t,YY]=ode45('DYdt',tspan,Y0);%
X=YY(:,1);
Y=YY(:,2);
plot(X,Y,'b','Linewidth',2);&hold&on
%axis('image')
[XE,YE,ZE]&=&sphere(10);
RE=0.64e7;
XE=RE*XE;YE=RE*YE;ZE=0*ZE;
mesh(XE,YE,ZE),hold&off
r=dsolve('Dy+3*y=0','y(0)=2','x')&
r=dsolve('D2y*(1+x^2)-2*x*Dy=0','y(0)=1,Dy(0)=3','x')&
[X,Y]=dsolve('Dx*2+4*x+Dy-y=exp(t),Dx+3*x+y=0','x(0)=1.5,y(0)=0','t')&&
r=dsolve('D2y-2*(1-y^2)*Dy+y=0','y(0)=0,Dy(0)=0','x')&
求解特殊函数方程
勒让德方程的求解
r=dsolve('(1-x^2)*D2y-2*x*Dy+y*l*(l+1)=0','x')&
连带勒让德方程的求解:
r=dsolve('(1-x^2)*D2y-2*x*Dy+y*(l*(l+1)-m^2/(1-x^2))=0','x')&
贝塞尔方程
r=dsolve('x^2*D2y+x*Dy+(x^2-v^2)*y=0','x')&
maple&dsolve((1-x^2)*diff(y(x),x$2)-2*x*diff(y(x),x)+n*(n+1)*y(x)&=&0,&y(x))&
层符号计算资源
经典特殊函数的调用
库函数在线帮助的检索树
发挥MAPLE的计算潜力
调用MAPLE函数
【例1】求递推方程的通解。
gs1=maple('rsolve(f(n)=-3*f(n-1)-2*f(n-2),f(k));')&&
(2)调用格式二
gs2=maple('rsolve','f(n)=-3*f(n-1)-2*f(n-2)','f(k)')&&
【例1】求的矩阵。
FH1=maple('hessian(x*y*z,[x,y,z]);')
FH2=maple('hessian','x*y*z','[x,y,z]')&
FH=sym(FH2)&
【例1】求在处展开的截断阶小量的台劳近似式。
TL1=maple('mtaylor(sin(x^2+y^2),[x=0,y=0],8)')&&
maple('readlib(mtaylor);');
TL2=maple('mtaylor(sin(x^2+y^2),[x=0,y=0],8)');
pretty(sym(TL2))&&
运行MAPLE程序
【例21】目标:设计求取一般隐函数的导数解析解的程序,并要求:该程序能象MAPLE原有函数一样可被永久调用。
DYDZZY:=proc(f)
#&DYDZZY(f)&is&used&to&get&the&derivate&of
&&&&an&implicit&function
local&Eq,deq,
deq:=diff(Eq,x);
readlib(isolate);
imderiv:=isolate(deq,diff(y(x),x));
procread('DYDZZY.src')&
s1=maple('DYDZZY(x=log(x+y(x)));')
s2=maple('DYDZZY(x^2*y(x)-exp(2*x)=sin(y(x)))')
s3=maple('DYDZZY','cos(x+sin(y(x)))=sin(y(x))')&
clear&maplemex
procread('DYDZZY.src');
maple('save(`DYDZZY.m`)');&
maple('read','`DYDZZY.m`');
ss2=maple('DYDZZY(x^2*y(x)-exp(2*x)=sin(y(x)))')&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。什么是微分方程的平凡解
什么是微分方程的平凡解
09-12-23 &匿名提问
X=0是平凡解,如果X不恒等于0,则dX/X=A(dY/Y).lx|X|=Aln|Y|+C.因此|X|=D*|Y|^A(D是常数且大于0)
请登录后再发表评论!
Matlab中微分方程的问题 1. Matlab能够处理什么样的微分方程? 2. 可以从什么地方获得更多的指导与附加信息? 常问问题 3. 对ODE求解器的语法存在有些什么变化? 4. 如何减小ODE的阶次? 5. 如何解决时变(依赖时间的)ODEs? 6. 如何采用定时间步长(?Fixed Time Step)? 7. 如何利用随机微分方程? 例子 8. 方程系统 9. 带边界值问题(Boundary Value Problem,BVP):管道流(?Channel Flow) 刚度(?Stiffness) 10. 什么是Stiffness? 11. 暗示(间接?Implicit)与明示(直接?Explicit)方法 12. 实例 设置 13. 如何在解微分方程的时候改变设置? 14. 哪些设置参数可以更改? 15. 如何将options当作函数利用? 微分--数方程与他们的索引(?Index) 16. Matlab中如何解决微分-代数方程系统? 第1节 Matlab能够处理什么样的微分方程? Matlab提供了解决包括解微分方程在内的各种类型问题的函数: 1. 常规微分方程(ODEs)的初始值问题 初值问题是用MATLAB ODE求解器解决的最普遍的问题。初始值问题最典型的是对非刚性度(?nonstiff)问题应用ODE45,对刚性度(?stiff)问题采用ODE15S。(对于stiffness的解释,请参照“什么是Stiffness”一节。) 2. 微分-代数方程(DAEs)的初值问题 在那些守恒定律规定一些变量之间满足常数关系领域经常遇到这类问题。Matlab 可以用ODE15S 或者 ODE23T解决索引(index)为1的DAEs。(对于索引的解释,请参阅“DAEs与他们的索引”一章。) 3. 边界值问题(BVPs) 这种通常要求微分方程在两边都具有特殊的条件组成。尽管他们通常不象IVPs那样经常遇到,但是他们也是工程应用中比较常见的问题。可以利用函数BVP4C来解决这类问题。 4. 时延微分方程(DDEs) 这类微分方程包含了独立变量的延迟。他们在生物与化学模型这类大量的应用中遇到,可以通过DDE23来解决这类问题。 5. 偏微分方程(PDEs) 采用PDEPE可以解决一维时空的抛物面与椭圆方程的初值、边界值的问题。而那些对更加多的一般的偏微分方程感兴趣的可以利用PDE工具箱。 更多的matlab的综合应用技术的信息请参阅Solution8314。 更多的有关matlab采用的各种求解器的算法的信息请查看下面的URLs: ● ODE 函数 ● BVP 函数 ● DDE 函数 ● PDE 函数 第2节 可以从什么地方获得更多的指导与附加信息? 可以从MATLAB Center、网站的新闻组、文件交换点可以获得一系列资料,可以进一步解释MATLAB解决各种方程(ODE,DAE,BVP,DDE)的求解器的算法和使用。你可以下载各种方程的文章与手册,他们通常带有大量的实例。 可以从 matlab自带的帮助文件的 Mathematics|Differential Equations下找到使用指导。 Cleve Moler的《Numerical Computing with MATLAB》的第七章详细讨论了OEDs的解法,并附带有大量的实例与简单的问题练习。 第3节 对ODE求解器的语法存在有些什么变化? 在MATLAB6.5(R13)中应用ODE求解器求解的首选语法是: [t,y]=odesolver(odefun,tspan,y0,options,parameter1,parameter2,…,parameterN); odesolver 是你采用的求解器,例如ODE45或者ODE15S。odefun是微分方程的定义函数,所以odefun定义独立参数(典型的是时间t)的导数y‘ 以及y和其他的参数。在MATLAB6.5(R13)中,推荐使用函数句柄作为odefun。 例如,ode45(@xdot,tspan,y0),而不是用 ode45('xdot',tspan,y0)。 请看采用函数句柄的好处的文档: 采用函数句柄传递你定义MATLAB求解器计算的量、例如大规模矩阵或者Jacobian模式的函数。 如果你喜好采用字符串儿传递你的函数,matlab求解器将回溯匹配。 在老的matlab版本里,通过传递标志来规定求解器的状态和恰当的计算。在MATALB6.0以及其后的版本中,这就没有必要了,可以从matlab自带的文档中发现这个差别。 如果里采用的matlab的ODE求解器的老的语法,你可以看看我们FTP站点上的各种求解器的老的实例: a href=&& rel=nofollowftp://ftp.mathworks/pub/doc/papers//a 前面的站点包含了BVP,DAE与DDE这三个方向的采用老的语法的实例。你可以在下面的站点中找到应用ODE45与ODE23的实例: a href=&& rel=nofollowftp://ftp.mathworks/pub.mathworks/toolbox/matlab/funfun/a 你可以在MATLAB Center的文件交换站点查看这些例子的更新版本。 第4节 如何减小ODE的阶次? 求解一阶ODE的代码是很直接的。然而,二阶或者三阶的ODE不能够直接应用求解。你必须先将高阶的ODE改写成一阶的ODEs系统,使得它可以采用MATLAB ODE求解器。 这是一个如何将二阶微分方程改写成两个一阶微分方程以便利用MATLAB的诸如ODE45等求解器求解的例子。下面的方程组包含了一个一阶与一个二阶微分方程: x'= - y*exp(-t/5)+y' * exp(-t/5)+1; (1) y''= -2*sin(t); (2) 第一步是引入一个新的变量,使得它等于具有二阶导数的自由变量的一阶导数: z=y' (3) 对上式两边求导如下: z' = y'' ; (4) 将(4)式带入(2)式得到如下方程: z'= -2*sin(t) (5) 联立(1),(3)与(5)得到三个一阶微分方程: x'= - y*exp(-t/5)+y' * exp(-t/5)+1; (1) z=y'; (3) z'= -2*sin(t) (5) 既然 z=y' ,用z代替等式(1)中的y' 。而且,因为MATLAB要求所有的导数项在左边,改写等式(3)。得到如下的方程组: x'= - y*exp(-t/5)+z* exp(-t/5)+1; (1a) y'= (6a) z'= -2*sin(t); (5a) 为了利用ODE45或者是MATLAB的其他的ODE求解器求解上面的方程组,需要建立一个包含这些微分方程的函数。这个函数需要两个输入:状态量与时间,返回状态的微分,建立命名为odetest.m的函数如下: function xprime=odetest(t, x) % 既然状态量以单个向量的形式输入,我们令: % x(1)=x; % x(2)=y; % x(3)=z; xprime(1)=-x(2)* exp(-t/5)+x(3)*exp(-t/5)+1; % x'= - y*exp(-t/5)+z* exp(-t/5)+1; xprime(2)=-x(3); % y'=z xprime(3)=-2×sin(t); % z'= -2*sin(t) xprime=xprime(:); % 这是为了确保返回的是个列向量 采用ODE23或者另外的MATLAB ODE求解器求解方程系统,定义起始和停止时间以及初识的状态向量。例如: t0 = 5 ; % 起始时间 tf = 20 ; % 停止时间 x0 = [1 –1 3] ; % 初识条件 [t , s] = ode23 ( @odetest, [t0 ,tf ], x0) ; x = s (: , 1 ); y = s (: , 2 ); z = s (: , 3 ); 求解结果作图如下:
请登录后再发表评论!}

我要回帖

更多关于 求微分方程dy dx y x 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信