当前位置:文档之家› 数学建模实验

数学建模实验

数学建模实验
数学建模实验

数学建模实验

The Standardization Office was revised on the afternoon of December 13, 2020

数学建模课程实验报告

专题实验7

班级数财系1班学号23 姓名李丛文实验题

常微分方程数值解

实验目的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 )(0θθ=比较。

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

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

)1(sin θθmg ml -=''

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

二. 当οθ30=时,

ts=0::2;

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

相关主题
文本预览
相关文档 最新文档