数学建模实验.docx

上传人:b****7 文档编号:9861620 上传时间:2023-02-07 格式:DOCX 页数:11 大小:550.65KB
下载 相关 举报
数学建模实验.docx_第1页
第1页 / 共11页
数学建模实验.docx_第2页
第2页 / 共11页
数学建模实验.docx_第3页
第3页 / 共11页
数学建模实验.docx_第4页
第4页 / 共11页
数学建模实验.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数学建模实验.docx

《数学建模实验.docx》由会员分享,可在线阅读,更多相关《数学建模实验.docx(11页珍藏版)》请在冰豆网上搜索。

数学建模实验.docx

数学建模实验

 

数学建模实验

数学建模课程实验报告

专题实验7

班级

数财系1班

学号

23

姓名

李丛文

实验题目

常微分方程数值解

实验目的

1.掌握用MATLAB求微分方程初值问题数值解的方法;

2.通过实例学习微分方程模型解决简化的实际问题;

3.了解欧拉方法和龙格库塔方法的基本思想。

实验内容

(包括分析过程、方法、和代码,结果)

1.用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较

解;M文件

functionf=f(x,y)

f=y+2*x;

程序;

clc;clear;

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

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

%%以下利用Euler方法求解

y

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

x=a:

h:

b;

fori=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的小球,在重力作用下小球处于竖直的平衡位置,使小球偏离平衡位置一根小的角度

,然后让它无初速度的放开,小球就会沿圆弧摆动,在不考虑空气阻力的情况下建立

关于时间t的微分方程,设l=25cm,在

等于

两种情况下求方程的数值解,并与近似解

比较。

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

在小球摆动过程中的任一位置θ,小球所受重力沿运动轨迹方向的分力为-mgsinθ(负号表示力的方向与θ的正方向相反),利用牛顿第二定律即得微分方程

描述单摆运动规律的微分方程

(1)是2阶微分方程,无解析解,但可用Matlab或其它软件编程求其数值解,但都需要先将它化成方程组的形式。

则微分方程

(1)化为

初始条件转化为

在前面的两式中,g=,l=,x10为10o=(弧度)及30o=(弧度)两种情况.

周期

根据上原理,可以建立模型,用matlab编程求解,过程如下,程序以单摆的两个周期来计算作图。

M文件;

functiondx=danbai(t,x)

g=;l=;

dx=[x

(2);-g/l*sin(x

(1))];

程序;

一.当

ts=0:

:

2;

a0=;

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('摆角10度数值解')

subplot(1,2,1),plot(t,y,'b*'),plot(t,y,'-r*'),title('摆角10度近似解')

ans=

0

二.当

时,

ts=0:

:

2;

a0=;

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度数值解')

subplot(1,2,1),plot(t,y,'b*'),plot(t,y,'-r*'),title('摆角30度近似解')

ans=

0

 

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

实验结果分析或者实验总结和体会

龙格库塔方法和Euler方法求解常微分方程都能获得比较好的数值解,相比较而言龙格库塔方法的数值解的精度远远要比Euler方法的数值解的精度高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1