第一范文网 - 专业文章范例文档资料分享平台

数学实验第二次作业——常微分方程数值求解

来源:用户分享 时间:2025/5/26 6:10:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

建立数学模型:

在任意时刻t,小船位于(x,y),此时速度为v,根据物理中路程与速度的关系,知路程的微分为速度v,由此中,小船在x,y方向上的速度分别为: X:dt=v1-v2*dy

ydx

x√x2+y^2

Y:dt=-v2*dxdtdydt

√x2+y^2 初始条件为 (t0)=v1 *(1) (t0)=v2 *(2)

dxv1?√x2+y^2x

?v2y

现求其解析解,利用微积分知识 *(1)÷*(2)得dy=

dxv1?√(x/y)2+1xdy

+y;*(3) 将*(3)右端带根号部分分子分母均÷y得 =

?v2

+y; 令x/y=p,得到dx/dy=dp/dy*y+p; dx/dy=p; 分离变量有

y^(-k)=c(√1+p2+p); 代入初值可确定

当t=0时,y=-d,x=0,p=x/y=0,

C=(-d)^(-k)

y^(-k)/d^(-k)=√1+y^2 +x/y; 根据隐函数与显函数的关系可得到

x2

解析解:x=-2[(?d)^(-k)-(d)^(1+k)]

已知d=100m,v1=1m/s,v2=2m/s;

先利用龙格库塔方法求解渡河时间,及任意时刻小船的位置(x,y),及航行曲线,与解析解比较

此时,k=0.5,d=100

用MATLB编写源程序如下:

function dx = boat(t,x) %建立名为boat的函数 d=-100;v1=1;v2=2; %给定常数值 s=(x(1).^2+x(2).^2).^0.5;

dx=[v1-v2.*x(1)./s;-v2.*x(2)./s]; %用向量形式建立方程 ts=0:70; %大致估算,确定终点值,给定步长为”1” x0=[0,-100]; %给出x初始值 [t,x]=ode23s(@boat,ts,x0); %调用ode23s计算 [t,x];

plot(t,x),grid, %绘出x(t),y(t)的函数曲线(图21) gtext('x(t)');gtext('y(t)'); pause;

plot(t,x(:,1)), %绘出x随时间变化的曲线(图22) grid;

xlabel('t/s'); ylabel('x/m'); pause;

plot(t,x(:,2)),grid, %绘出y随时间变化的曲线(图23) title('y-t');

xlabel('t/s'),ylabel('y/m'); 图21

dyy

图22

图23

得到数据如下

01234567800.9900371.9597412.9088283.8368224.7429025.6273376.4893587.327888-100-98-96.0002-94.0008-92.002-90.0042-88.0073-86.0119-84.0184

606162636465666768696.5375025.5960414.6374223.6645442.6803231.6878170.690109########2.15E-081.63E-08-1.74536-1.26513-0.86066-0.53305-0.28315-0.11154-0.0185000

数学实验第二次作业——常微分方程数值求解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6jimt0f8zc25ui718xfz9x6b742s6901dxf_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top