ode45 matlab程序解二阶微分方程组

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
数值分析Matlab作业龙格库塔欧拉方法解二阶微分方程
下载积分:800
内容提示:数值分析Matlab作业龙格库塔欧拉方法解二阶微分方程
文档格式:DOC|
浏览次数:41|
上传日期: 13:05:54|
文档星级:
全文阅读已结束,如果下载本文需要使用
 800 积分
下载此文档
该用户还上传了这些文档
数值分析Matlab作业龙格库塔欧拉方法解二阶微分方程
关注微信公众号【图文】如何使用MATLAB求解微分方程(组)_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何使用MATLAB求解微分方程(组)
&&MATLAB求解微分方程;Simulink求解微分方程;ODE函数求解常微分方程的解
阅读已结束,下载本文到电脑
想免费下载本文?
登录百度文库,专享文档复制特权,积分每天免费拿!
你可能喜欢生于Code,死于Bug
matlab求解微分方程
如何用matlab来求解简单的微分方程?举例来说明吧。
求解三阶常微分方程。我们知道,求解高阶常微分方程可以化为求解一阶常微分方程组。编写函数eq3.m:
function ydot = eq3(t,y)
ydot=[y(2);y(3);(cos(t)-5*y(3)-6*sin(t)*y(1))/3];
其中,ydot为一个列向量,值分别表示y‘(1)、y‘(2)、y‘(3)的取值,t自因变量,y为因变量,一个y就可以表示因变量组了。事实上,说白了,这个函数就是申明一下变量使t和y,以及y一阶导的右端项为那三个。
接着,编写主函数如下:
%解常微分方程 3*y'''+5*y''+6*sin(t)*y=cost
[t23,y23]=ode23(@eq3,[0,5],[0,1,3])
[0,5]表示自变量(这里是t)取值范围,[0,1,3]表示初始条件,也就是y0,y′0,和y′′0,计算出来的结果又三列数,分别表示y,y′,和y′′在[0,5]中的取值。如图:
二阶常微分方程
编写函数eq2.m
function ydot= eq2(t,y)
ydot=[y(2);-3-cos(2*t) + 2*sin(t)+t-3.8];
[t,y]=ode23('eq2',[0,20],[0,1]);
plot(t,y(:,1),'-',t,y(:,2),'-.')
求解微分方程,以上matlab内部用的是欧拉折现法,或者是单步法的改进,得不到一个解析解。那么如何求带初值问题的解析解呢?如下:
y=dsolve('D3y-D2y=x','y(1)=8,Dy(1)=7,D2y(1)=4','x')
一目了然,就不多解释了。
方程组解析解,以及带初始条件的解析解。
equ1='D2f+3*g=sin(x)';
equ2='Dg+Df=cos(x)';
[general_f,general_g]=dsolve(equ1,equ2,'x')
[f,g]=dsolve(equ1,equ2,'Df(2)=0,f(3)=3,g(5)=1','x')
非其次线性方程组:
编写vdp1.m
function dy=vdp1(t,y);
dy=[y(2);(1-y(1)^2)*y(2)-y(1)];
[T,Y]=ode45('vdp1',[0 20],[2;0]);
%观察结果。利用plot输出解的结果:
plot(T,Y(:,1),'-',T,Y(:,2),'--')
title('Solution of van der Pol Equation,mu=1');
xlabel('time t');
ylabel('solution y');
legend('y1','y2');
- 求解高阶微分方程
1、编写F.m函数,并保存
function dy=F(t,y);
dy=[y(2);y(3);3*y(3)+y(2)*y(1)];
[T,Y]=ode45('F',[0 1],[0;1;-1]) %求解y'''-3y'-yy'=0 y(0)=0 y'(0)=1 y''(0)=-1
求无初始条件的微分方程的解析通解各项
diff_equ='x^2+y+(x-2*y)*Dy=0';
dsolve(diff_equ,'x')
%求无初始条件的微分方程的解析通解各项
好吧,就说这么多了。这里介绍的是matlab内置的算法,知道原理自己动手编也是很快的啦。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
求解二阶微分方程组.ps:用matlab能解这个吗?怎么写?两个方程:m*d2y/dt2=xm*d2x/dt2=-yy(0)=0x(0)=1m是常量x和y是t的函数
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
当然可以解.通过定义两个变量dx和dy,把二阶方程组改成四个一阶方程就可以了.另外,你的问题不完整,还需要多两个初始条件x'(0)、y'(0).
为您推荐:
其他类似问题
有m的值么?
x和y是t的函数
扫描下载二维码当前位置:
&MATLAB求解二阶微分方程组
MATLAB求解二阶微分方程组
作者 龙的传人89
哪位大神,能帮忙用边值问题(bvp4c)解一下图中二阶微分方程组?(最好能附上MATLAB代码)求助求助,小弟感激不尽。
c*不是具体数值也无法计算吧
引用回帖:: Originally posted by chendequan at
c*不是具体数值也无法计算吧 那假如ɛ*=0.2& &c*=0.95&&该如何计算呢?谢谢了
引用回帖:: Originally posted by 龙的传人89 at
那假如ɛ*=0.2& &c*=0.95&&该如何计算呢?谢谢了... 结果类似下图
解法请找2楼,
24小时热帖
下载小木虫APP
与700万科研达人随时交流

我要回帖

更多关于 MATLAB 一阶微分方程 的文章

 

随机推荐