1、鸭子过河设河边点 O 的正对岸为点 A,河宽 OA=h(图 1.1) ,水流速度为 a,有一鸭子从点 A游向点 O,设鸭子(在静水中)的游速为 b(ba) ,且鸭子游动的方向始终朝着点 O。设 h=10m,a=1m/s,b=2m/s ,用数值法求渡河所需时间、任意时刻鸭子的位置及游动曲线。建立任意时刻鸭子的位置和鸭子游动的数学模型,并求其解析解。1.模型的假设为了使问题确定和简化,实际上已经作了如下假设:假设河宽固定,设为 h,且两岸为平行直线;鸭子游速为 b 及水流速度 a 均为常数;鸭子游动的方向始终指向 O。2.模型的建立和求解取 O 为坐标原点,河岸朝顺水方向为 x 轴,y 轴指向对岸
2、,如图 1.1 所示。设时刻 t 鸭子位于点 P(x,y) ,设起点坐标(x,y)=( 0,h) ,终点坐标(0,0) ,设 为鸭子速度方向与 x 轴正向间的夹角,2(cos,in)(,)bb xyO, 于是鸭子游动的迹线满足:,0)ava22cosindxbxbt yytxx(0)=0,y(0)=h(1)模型的数值解实际上,从上述方程不能求得 x(t),y(t)的解析式,但在参数确定的情况下,可以通过数值解得到任意时刻鸭子的位置。设 x=(x(1),x(2) T,x(1)=x,x(2)=y ,编写如下的函数M 文件:%鸭子过河、渡河function dx=duhe(t,x) %建立名为 du
3、he 的函数 M 文件a=1;b=2;s=sqrt(x(1)2+x(2)2);dx=a-b*x(1)/s;-b*x(2)/s;%以向量形式表示方程组在编写运行程序时,须设定时间 t 的起点及终点步长,可大致估计静水中的渡河时间,并作试探。 (可见,鸭子的渡河时间在 6.57s 之间)ts=0:0.5:7;x0=0,10; %x、y 的初始值t,x=ode45(duhe,ts,x0); %调用 ode45 计算t,x %输出 t,x(t),y(t)plot(t,x),grid %按照数值输出作 x(t),y(t)的图形gtext(x(t),gtext(y(t),pause %利用鼠标确定字符串位
4、置plot(x(:,1),x(:,2),grid, %作 y(t)的图形gtext(x),gtext(y)得到的数值结果 x(t),y(t) 为鸭子的位置列入表 1.1。x(t) , y(t)及 y(x)的图形见图 1.2(a)和 1.2(b)。表 1.1 h=10,a=1,b=2 时的数值解t x(t) y(t) t x(t) y(t)0.0000 0.0000 10.0000 4.0000 1.8663 2.4336 0.5000 0.4741 9.0004 4.5000 1.7062 1.6834 1.0000 0.8929 8.0039 5.0000 1.4436 1.0381 1.5
5、000 1.2503 7.0143 5.5000 1.0860 0.5257 2.0000 1.5396 6.0370 6.0000 0.6507 0.1759 2.5000 1.7535 5.0791 6.5000 0.1660 0.0111 3.0000 1.8843 4.1501 7.0000 0.0000 0.0000 3.5000 1.9242 3.2628 0 1 2 3 4 5 6 7012345678910x(t)y(t)0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2012345678910xy图 1.2(a) 和 图 1.2(b)(2)模型的解析解
6、为了得到更精确的运动轨迹,还必须对模型作进一步分析以得到其解析解。鸭子运动速度为: 22(,)(,)(,)xydbxyvat 故有: xyvd由此得到微分方程:,x(h)=02xyavdxby求解此齐次微分方程得到鸭子游动的轨迹方程为:,0yh(具体求解参见附录(1) )12aabbhx采用下列 Matlab 程序,我们可以画出鸭子运动的轨迹(图 1.3) 。h=10;a=1;b=2;y=h:-0.5:0;x=h/2*(y./h).(1-a/b)-(y./h).(1+a/b);plot(x,y,bO-)legend(duck)xlabel(X);ylabel(Y);0 0.2 0.4 0.6
7、0.8 1 1.2 1.4 1.6 1.8 2012345678910XYduck图 1.3 鸭子运动的轨迹鸭子游动曲线轨迹的弧长可以用公式 求出,也可以用数值方法求解。2dsxy3.对解以及问题的进一步讨论关于解可以作进一步分析:如果 ba,由上述轨迹方程当 y0,得到 x。因此,这中情况下鸭子是不可能到达对岸的,这与鸭子运动的力学分析结果是一致的。syms y;limit(10/2*(y/10)(1-2)-(y/10)(1+2),y,0,left)syms y;limit(10/2*(y/10)(1-2)-(y/10)(1+2),y,0,right)结果分别为-Inf 和 Inf。很自然地
8、,还可以探讨如下问题:如果鸭子上岸的地点不超过和对岸下游一定位置(比如与正对岸距离为 l) ,鸭子的速度大小与方向不变,问鸭子以怎样的游动方向才能以最少的时间到达上岸地点?鸭子能够按要求到达对岸速度应满足什么条件?如果水流速度变化,进一步可研究 2003 年全国数学建模竞赛 D 题:强渡长江。4.建模过程总结这是一个微分方程应用题,整个解题过程已经包含了建立数学模型的基本内容,即根据问题背景和建模问题作出必要的简化假设鸭子速度和水流速度均为常数;用字母和符号表示有关变量(如鸭子速度、水流速度、时间及位置坐标等) ;利用相应的物理(或其他)规律牛顿力学有关规律,列出微分方程;求解微分方程得到鸭子
9、游动轨迹曲线解析解,此处我们还采用了数值解法得到了任意时刻鸭子的位置(坐标) ;解的讨论及推广应用等。参考文献1 李志林,欧宜贵,数学建模及典型案例分析,北京:化学工业出版社,2006.122 同济大学应用数学系,高等数学(本科少学时类型)上册(第二版) ,北京:高等教育出版社,2001附录:(1)鸭子游动轨迹方程的求解将得到的微分方程 化成齐次方程 的形式,得2axydybdxy(1-1)21dy令 ,则 x=yu, ,代入上述方程,得xuyxuy(1-2)21daub化简并分离变量得(1-3)21uy两端积分,得(其中 C1 为常数) (1-4)21ln()lnayb即(1-5)12221()abue其 中将 代入上式,得xuy(1-6)12221()aCbxye其 中由 x(h)=0 将 y=h,x=0 代入上式,得 ,求得 。2abh2abh将 代入式(1-5) ,得2abCh(1-7)21abuyu将上式平方并化简,得(1-8)2()aabbh求得(1-9)11()22aaaabbbbyuyh将 代入上式,得xuy,0yh(1-11222aaaaaabbbbbbhyyhyxh10)参考文献图书馆索取号及参考页码1 O141.4/L.Z.L Page2-42 齐次方程 Page339-344