ode45求解微分方程

ode45求解微分方程

ID:42992456

大小:33.01 KB

页数:3页

时间:2019-09-23

ode45求解微分方程_第1页
ode45求解微分方程_第2页
ode45求解微分方程_第3页
资源描述:

《ode45求解微分方程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、用MATLAB实现的四阶龙格库塔,并用来求解微分方程组function[x,y]=Runge_kutta(ufunc,y0,h,a,b)%%参数表顺序依次是微分方程组的函数名称,初始值向量,步长,时间起点,时间终点(参数形式参考了ode45函数)n=floor((b-a)/h);%求步数,迭代次数%x=zeros(n+1,1);%n+1行1列的全零矩阵x(1)=a;%时间起点y(:,1)=y0;%赋初值,可以是向量,但是要注意维数forii=1:nx(ii+1)=x(ii)+h;k1=ufunc(x(ii),y(:,ii));k2=ufunc(x(ii)+h/2,y(:,ii)+h*k

2、1/2);k3=ufunc(x(ii)+h/2,y(:,ii)+h*k2/2);k4=ufunc(x(ii)+h,y(:,ii)+h*k3);y(:,ii+1)=y(:,ii)+h*(k1+2*k2+2*k3+k4)/6;%按照龙格库塔方法进行数值求解%y(:,ii+1)=roundn(y(:,ii+1),-8);endendclc;clearall;closeall;%-------初值和参数----------a=16.923;b=20.653;r=0.51;G=1.41;k1=1/1.355;%k1=1/2.5;k2=1.25;k3=0;x0=[0.001;0.1;0;0];%-

3、------定义方程----------fun=@(t,y)[a*(y(2)-y(1)+G*y(1)-y(1)*(k1*((1-k2*(y(4)-k3))^(-1/2))));y(1)-y(2)+y(3);-b*y(2)-r*y(3);y(1);];%--------龙格库塔解-----------[t,x]=Runge_Kutta(fun,x0,0.01,0,200);%测试时改变test_fun的函数维数,别忘记改变初始值的维数%--------龙格库塔解-----------v=x(1,3000:end);i=((k1.*((1-k2.*(x(4,3000:end)-k3)).^

4、(-1/2)))).*x(1,3000:end);x(1,:)=round((x(1,:)+13)*10+1);x(2,:)=round((x(2,:)+13)*10+1);x(3,:)=round((x(3,:)+13)*10+1);x(4,:)=round((x(4,:)+13)*10+1);v=fix((v+15)*10);i=fix((i+15)*10);figure(1)plot(t,x(1,:))%自编的龙格库塔函数效果xlabel('x')ylabel('y');使用方法[T,Y]=ode45(odefun,tspan,y0)odefun是函数句柄,可以是函数文件名,匿名

5、函数句柄或内联函数名tspan是区间[t0tf]或者一系列散点[t0,t1,...,tf]y0是初始值向量T返回列向量的时间点Y返回对应T的求解列向量[T,Y]=ode45(odefun,tspan,y0,options)options是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等[T,Y,TE,YE,IE]=ode45(odefun,tspan,y0,options)每组(t,Y)之产生称为事件函数。每次均会检查是否函数等于零。并决定是否在零时终止运算。这可以在函数中之特性上设定。例如以events或@events产生一函数。[value,isterminal,

6、direction]=events(t,y)其中,value(i)为函数之值,isterminal(i)=1时运算在等于零时停止,=0时继续;direction(i)=0时所有零时均需计算(默认值),+1在事件函数增加时等于零,-1在事件函数减少时等于零等状况。此外,TE,YE,IE则分别为事件发生之时间,事件发生时之答案及事件函数消失时之指针i。sol=ode45(odefun,[t0tf],y0...)sol结构体输出结果应用举例1求解一阶常微分方程程序:odefun=@(t,y)(y+3*t)/t^2;%定义函数tspan=[14];%求解区间y0=-2;%初值[t,y]=ode

7、45(odefun,tspan,y0);plot(t,y)%作图title('t^2y''=y+3t,y(1)=-2,1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。