数学建模实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学建模课程实验报告

专题实验7

班级数财系1班学号2011040123 丛文实验题目常微分方程数值解

实验目的1.掌握用MATLAB求微分方程初值问题数值解的方法;2.通过实例学习微分方程模型解决简化的实际问题;3.了解欧拉方法和龙格库塔方法的基本思想。

实验容(包括分析过程、方法、和代码,结果) 1. 用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较

解;M文件

function f=f(x,y)

f=y+2*x;

程序;

clc;clear;

a=0;b=1; %求解区间

[x1,y_r]=ode45('f',[a b],1); %调用龙格库塔求解函数求解数值解;

%% 以下利用Euler方法求解

y(1)=1;N=100;h=(b-a)/N;

x=a:h:b;

for i=1:N

y(i+1)=y(i)+h*f(x(i),y(i));

end

figure(1)

plot(x1,y_r,'r*',x,y,'b+',x,3*exp(x)-2*x-2,'k-');%数值解与真解图

title('数值解与真解图');

legend('RK4','Euler','真解');

xlabel('x');ylabel('y');

figure(2)

plot(x1,abs(y_r-(3*exp(x1)-2*x1-2)),'k-');%龙格库塔方法的误差

title('龙格库塔方法的误差')

xlabel('x');ylabel('Error');

figure(3)

plot(x,abs(y-(3*exp(x)-2*x-2)),'r-')%Euler方法的误差

title('Euler方法的误差')

xlabel('x');ylabel('Error');

4. 单摆运动是一个我们熟悉的物理模型,可以看作工程技术中一些振动问题的简化,图8中一根长l的(无弹性的)细线,一端固定,另一端悬挂一质量为m的小球,在重力作用下小球处于竖直的平衡位置,使小球偏离平衡位置一根小的角度0θ,然后让它无初速度的放开,小球就会沿圆弧摆动,在不考虑空气阻力的情况下建立θ关于时间t的微分方程,设l=25cm,在0θ等于︒

10和︒

30两种情况

下求方程的数值解,并与近似解

t

l

g

t cos

)(

θ

θ=

比较。

解;实验原理与数学模型:

二. 当ο

θ30=时,

ts=0:0.05:2;

a0=0.5236;

x0=[a0,0];

[t,x]=ode23(danbai,ts,x0);

y=a0*cos(sqrt(40).*t);

[t,x(:,1),y]

subplot(1,2,2),plot (t,x(:,1),'-k*'),title('摆角30度数值解')

2.0000 0.5036 0.5218

从数据可以看出,角度为10o时精确(数值)解与近似解相差不大,而初始角度为30o时,随着时间的增加差别很大

相关文档
最新文档