华南理工大学数学实验上机作业3.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 微分方程 地 点: 计算中心 XXX房 实验台号: XXX 实验日期与时间: 20XX年X月XX日 评 分: 预习检查纪录: 实验教师: XX 电子文档存放位置: 电子文档文件名: XXX.doc 批改意见: 实验目的 了解求解微分方程解析解的方法。 了解求微分方程数值解的方法。 学会建立一些简单的微分方程模型,并能分析解决这些问题。 问题1 用dsolve函数求解微分方程: 实验过程: 根据dsolve格式,微分方程为D2y = Dy + 2y,初始条件为y(0) = 1,Dy(0) = 0,将其带入dsolve函数可得到方程字符串y = (2*exp(-t))/3 + exp(2*t)/3,再用函数ezplot即可画出该函数图像。 y = dsolve(D2y=Dy+2*y, y(0)=1,Dy(0)=0); hold on; t = [0, 3]; set(ezplot(diff(diff(y)), t),Color,k); set(ezplot(diff(y), t),Color,b ); set(ezplot(y, t),Color,y); legend(y, y, y, 0) 实验结果: 图1 曲线各阶图像 结果分析: 经验证 ,初始条件符合,故结果合理, 问题2 设河边点O的正对岸为A;河宽OA=h,两岸为水平直线,水流的速度为0.5m/min。有一只鸭子从点A游向点O,设鸭子在静水中的游动速度为1m/min,且鸭子的游动方向始终朝着点O,求鸭子游过的轨迹方程,用MATLAB求解,并做出轨迹图。 实验过程: 图2 受力分析图 如图2,我们进行受力分析。水流方向向右边,鸭子的坐标为xi+yj。 鸭子水平速度为vi = v_water-v_duck*cos(theta) 鸭子垂直速度为vj = -v_duck*sin(theta) 其中cos(theta) = x/sqrt(x^2+y^2), sin(theta) = y/sqrt(x^2+y^2) 所以速度表达式: dy/dt = -v_duck*y/sqrt(x^2+y^2) dx/dt = v_water-v_duck*x/sqrt(x^2+y^2) 相除并化简得到: dx/dy = (x/y) – (v_water/v_duck)*sqrt((x/y)^2+1) 用MATLAB编程得到的代码为: % save as fun.m function [dvar] = fun(~,var) v_water = 0.5; v_duck = 1; dvar = zeros(size(var)); dvar(1) = (-v_duck*var(1))./norm(var)+v_water; dvar(2) = (-v_duck*var(2))./norm(var); end % press F5 to run tspan = [0 1.5]; x0y0 = [0 1]; [t,var] = ode45(fun,tspan,x0y0); plot(var(:,1),var(:,2)) axis([0 0.25 0 1]) % get the equation dsolve(Dx=(x/y)-0.5*sqrt((x/y)^2+1),x(1)=0,y) 实验结果: 图3 鸭子轨迹图 输出: -y*sinh(log(y)/2) 再用以下代码画出轨迹方程的图: y = 0:0.001:1; plot(-y.*sinh(log(y)/2),y) 解析方程图: 图4 解析方程的图像 所得的方程表达式x = -y*sinh(log(y)/2)即 结果分析: 鸭子的轨迹为类似于抛物线的形状,大约在x=0.2时,被水流冲走使得水平位移最大,之后快速回到目标点O。鸭子成功游到对岸。 得到的解析方程形状与求微分方程数值解ode45所画出的图像形状相同,验证了解析解和数值解均正确。 4. 实验总结和实验感悟 经过此次数学实验,让我们学会了如何使用MATLAB中的dsolve和ode45函数求得微分方程的解析解和数值解。在不能求得微分方程的解析解的时候应当适当转换坐标系,或许就能求得解析解。使用ode45函数求得非刚性微分方程的数值解,这个函数在绝大多数的情况下都适用。 订正: 1

文档评论(0)

js1180 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档