资源描述:
《数学模型期末作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、重庆大学数学模型数学模型课程名称用打靶法求周期解学院物理学院年级2013学生姓名和学号l郑勇20137022l赵茂雄20136970l席明20136952开课时间2014至2015学年第1学期19重庆大学数学模型一,问题引入:二,原理分析:1,打靶法原理:打靶法的实质是把微分方程的边值问题,转化成初值问题求解;求非线性动力系统的周期解就是,求如下形式的边值问题:T为响应的最小周期.。在某一给定的初始值表示初值迭代的次数)下具体计算过程如下:首先根据方法可得19重庆大学数学模型由此可求得若(为允许误差)则为所求非线
2、性系统的周期解.若不然令,使用如下Newotn迭代关系求得下次计算需要的初值其中,微分算子在此关键要求出的值。令且方程两边对求导可得矩阵的初值问题其中,再次使用方法即可求得的值;代入式(4)即可求得下次计算需要的初值。在对式(5)使用Runge一Kutta方法求步的值时19重庆大学数学模型但在第1次的Runge一Kutta方法中,我们并没有求的式(7)需要的的值,其中的计算通常采用线性插值方法求得,即,或者重新缩短步长计算获得,但是在计算精度上与Runge一Kutta方法不匹配,且会增加计算量,必然在以后的计算中
3、产生误差.为此我们只需要在第2次使用Runge-Kutta方法时直接对(2)式两边求导即可得第2次使用Runge-Kutta方法所需的值,具体过程如下:式(2)两边对求导可得下面求,在式(3)中令19重庆大学数学模型则有显然由于都是第1次使用Runge-Kutta方法求得的,而所以第步的值可表示为显然使用该种方法计算Runge-Kutta所需要的参数时候不需要19重庆大学数学模型的值,避免了误差的产生。2,Floquet理论:若系统(2)的特征根的模小于l,则系统(1)存在唯一的w一周期解。三,理论推理:的周期解
4、的公式推导如下:令则现使用打靶法求解如下:令19重庆大学数学模型T为响应的最小周期。根据runge-kutta方法推导如下Rnge-kutta的一般形式为:确定了阶数之后,再通过Taylor展开,比较两边系数的方法,确定各待定系数:.将展开式代入,得到局部截断误差:19重庆大学数学模型要使得方法是二阶的,则局部截断误差应该为三阶小量,即:。三个方程,四个未知数,所以其解不唯一,可令a=1,.则积分公式为:。类似前面的推导,可以导出各种四阶的runge-kutta公式,它们的局部截断误差满足。下面列出最常见的一个:
5、19重庆大学数学模型从而根据次类似的推理,并将上式的迭代的次数n换成i,Y变成x.从而有下述结论由此可求得若(为允许误差)则为所求非线性系统的周期解.T为最小响应周期。19重庆大学数学模型Ww重点分析和结论:对于常微分方程经过我们的推导和研究,我们发现等式x+(4+6cost)x-3x2+x+2x3=0.01cost;可改写为x+(4+6cost)x-0.01cost=3x2-x-2x3=A,A为常数。x+(4+6cost)x-0.01cost=A有周期解,3x2-x-2x3=A为常数解,故方程中3x2+x+2x
6、3部分对整个方程的结的周期无影响。故求解x+(4+6cost)x-3x2+x+2x3=0.01cost的周期解时,我们可通过求解方程x+(4+6cost)x-0.01cost=0的周期解来实现。四,程序实现:在MATLAB中编辑公式如下:functionys=dbf(f,a,b,alfa,beta,h,eps)ff=@(x,y)[y(2),f(y(1),y(2),x)];xvalue=a:h:b;n=length(xvalue);s0=a-0.01;x0=[alfa,s0];flag=0;y0=rk4(ff,a,
7、x0,h,a,b);ifabs(y0(1,n)-beta)<=epsflag=1;y1=y0;elses1=s0+1;x0=[alfa,s1];y1=rk4(ff,a,x0,h,a,b);ifabs(y1(1,n)-beta)<=eps19重庆大学数学模型flag=1;endendifflag~=1whileabs(y1(1,n)-beta)>epss2=s1-(y1(1,n)-beta)*(s1-s0)/(y1(1,n)-y0(1,n));x0=[alfa,s2];y2=rk4(ff,a,x0,h,a,b);s
8、0=s1;s1=s2;y0=y1;y1=y2;endendxvalue=a:h:b;yvalue=y1(1,:);ys=[xvalue',yvalue'];functionx=rk4(f,t0,x0,h,a,b)t=a:h:b;m=length(t);t(1)=t0;x(:,1)=x0;fori=1:m-1L1=f(t(i),x(:,i));L2=f(t(i)+h/2,x