数学实验报告(赛车跑道)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验报告
王伟晨
材料22
学号**********
一.实验问题
赛车道路路况分析问题
先要在一旷野区域举行一场自行车比赛,问了了解环形道路的路况,现对一选手的比赛情况进行监测。该选手从A 地出发向东到B 地,再经C,D 回到A 地(如图所示)。现从选手出发开始计时,每隔15min 观测其位置,所得相应各点坐标如下表(假设其体力是均匀分配的)
-5
0510152025303540
0510152025303540
45
假设:1车道几乎是在平地上,但有三种路况(根据平均速度v (km/h )大致区分) ;平整沙土路(v>30),坑洼碎石路(12 求解:1模拟比赛车道的曲线和选手的速度曲线; 2估计车道的长度和所谓区域的面积; 3分析车道上相关路段的路面状况(在车道上用不同的颜色标记出来); 4对参加比赛的选手提出合理化建议。 二 问题分析 由给定的一系列x,y 坐标采用插值法,获得一条严格通过个数据点的曲线。 共有三种插值法;1多项式插值 对于已知的n 个数据点),(),,(2211y x y x ;…;(n x ,n y ),可唯一的确定一条n-1次多项式y=o a +x a 1 +…+11--n n x a , 令,,,11111101101222111⎥⎥⎥⎥⎦⎤ ⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=-----n n n n n n n y y y y a a a x x x x x x x A 则所求的多项式系数为方程组Ax=y 的解。故x=[]y A a a a a T n 11,210,,,--= 利用命令y0=polyval(p,x0)可求得多 项式函数任一点的函数值。 该种方法得到的曲线容易出现“龙格现象”,故一般不用该方法模拟曲线。 2分段线性插值 在每一个子区间上利用一次多项式分段线性插值,几何图形上的表示为相邻两个 数据点之间用直线相连。在数据点个数较多时,他们之间的距离较小,利用线性插值就较为精确。其线性插值命令为y0=interpl(x,y,x0) 3三次样条插值 该种方法是利用某些光滑的,变化平缓的曲线来拟和数据点。常用一个三次多项式,来对相继数据点之间的各段建模,使其满足相邻的三次多项式在节点处的1阶2阶导数都相等,这样就可以确定内部各段的3次多项式,且该三次多项式在节点处的斜率和曲率是连续的。该插值方法的命令格式为yo=spline(x,y,xo) 要求比赛车道的曲线和选手的速度曲线利用以上三种插值方法即可。 三.程序的设计 首先分析A →B 的赛道情况 1描点 -5 0510152025303540 0510152025303540 45 clf;clear x=[0.2 4.96 6.55 9.71 13.17 16.23 18.36 20.53 23.15 26.49 28.23 29.1 30.65 30.92 31.67 33.03 34.35 35.01 37.5]; y=[6.66 5.28 4.68 5.19 2.34 6.94 5.55 9.86 5.28 3.87 3.04 2.88 3.68 2.38 2.06 2.58 2.16 1.45 6]; plot(x,y,'k.','markersize',15); axis([-5 40 0 45]); grid 2绘图 利用三次样条插值 clf;clear x=[0.2 4.96 6.55 9.71 13.17 16.23 18.36 20.53 23.15 26.49 28.23 29.1 30.65 30.92 31.67 33.03 34.35 35.01 37.5]; y=[6.66 5.28 4.68 5.19 2.34 6.94 5.55 9.86 5.28 3.87 3.04 2.88 3.68 2.38 2.06 2.58 2.16 1.45 6]; plot(x,y,'k.','markersize',15); axis([-5 40 0 45]); grid; hold on t=-5:0.5:40; u=spline(x,y,t); plot(t,u) s=trapz(x,y); l=sqrt(diff(x).^2+diff(y).^2); L=sum(l); fprintf('s=%.2f,L=%.3f\n',s,L) s=177.20,L=51.832 再分析A →D →C →B 的赛道情况 1描点 -5 0510152025303540 0510152025303540 45 clf;clear x=[0.2 1.8 4.90 6.51 9.73 13.18 16.20 18.92 20.50 23.23 25.56 28.31 29.45 30.00 30.92 31.67 33.31 34.23 35.81 37.5]; y=[6.66 19.89 24.52 34.82 40.54 37.67 41.38 30.00 19.68 14.56 18.86 18.55 22.66 18.28 15.06 13.42 11.86 7.68 9.45 6]; plot(x,y,'k.','markersize',15);