赛车道路况分析问题Word下载.docx
《赛车道路况分析问题Word下载.docx》由会员分享,可在线阅读,更多相关《赛车道路况分析问题Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
![赛车道路况分析问题Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/27/47a143a9-b7c6-4407-955d-74d1dea3eb3a/47a143a9-b7c6-4407-955d-74d1dea3eb3a1.gif)
由D→C→B各点的位置坐标(单位:
1.84.906.519.7313.1816.2018.9220.5023.2325.56
19.8924.5234.8240.5437.6741.3830.0019.6814.5618.86
28.3129.4530.0030.9231.6733.3134.2335.8137.5
18.5522.6618.2815.0613.4211.867.689.456
假设:
1.车道几乎是在平原上,但有三种路况(根据平均速度v(km/h)大致区分):
平整沙土路(v>
30)、坑洼碎石路(10<
v<
30)、松软泥泞路(v<
10);
2.车道是一条连续的可以用光滑曲线来近似的闭合路线;
3.选手的速度是连续变化的.
求解:
1.模拟比赛车道的曲线和选手的速度曲线;
2.估计车道的长度和所围区域的面积;
3.分析车道上相关路段的路面状况(在车道上用不同颜色标记出来);
4.对参加比赛选手提出合理建议.
二、问题分析以及求解。
1.赛道:
根据图可知直接求解出y=f(x)比较困难,故可采用参数函数的形式。
这里使用了插值法以及多项式拟合法。
(1)多项式拟合:
程序:
x=[0.3,4.56,6.45,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.56,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];
[a,s]=polyfit(x,y,9);
xx=0:
0.001:
38.1;
yy=polyval(a,xx);
plot(x,y,'
o:
m'
xx,yy,’LineWidth’,2)
holdon;
x=[0.3,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.56,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];
[a,s]=polyfit(x,y,11);
图象:
(2)插值法:
x=[0.3,4.56,6.45,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,35.81,34.23,33.31,31.67,30.92,29.65,29.8,28.31,26.56,23.23,20.50,18.32,16.20,13.18,9.73,6.51,4.90,1.8,0.3];
y=[6.56,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,9.45,7.68,11.86,12.42,14.06,17.28,20.66,17.55,19.86,14.56,18.68,35.24,42.38,38.67,41.54,35.82,24.52,19.89,6.56];
t=0:
0.25:
9.25;
tt=0:
0.01:
xx=spline(t,x,tt);
yy=spline(t,y,tt);
--ms'
xx,yy,'
k'
'
LineWidth'
1,'
MarkerEdgeColor'
MarkerFaceColor'
g'
)
图像:
由以上两种方法的对比可以看出,插值法的效果明显好于多项式拟合。
2.速度曲线,赛道长度。
根据相邻两点求出直线斜率,及该段内的平均速度,利用自动插值可求出速度变化曲线。
x=[0.00,0.00,0.3,4.56,6.45,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,35.81,34.23,33.31,31.67,30.92,29.65,29.8,28.31,26.56,23.23,20.50,18.32,16.20,13.18,9.73,6.51,4.90,1.80,0.30];
y=[0.00,0.00,6.56,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,9.45,7.68,11.86,12.42,14.06,17.28,20.66,17.55,19.86,14.56,18.68,35.24,42.38,38.67,41.54,35.82,24.52,19.89,6.56];
dx=diff(x)./0.25;
dy=diff(y)./0.25;
v=(dx.^2+dy.^2).^(1/2);
9.5;
9.75;
vv=interp1(t,v,tt,'
cubic'
);
plot(t,v,'
*'
tt,vv,'
r'
L=0;
fori=1:
975
L=L+vv(i)*0.01;
end
L
所以,L=180.457
3.所围面积
x1=[0.3,4.56,6.45,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];
x2=[0.3,4.90,6.51,9.73,13.18,16.20,18.32,20.50,23.23,26.56,28.31,29.8,29.65,30.92,31.67,33.31,34.23,35.81,37.5];
y1=[6.56,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];
y2=[19.89,24.52,35.82,41.54,38.67,42.38,35.24,18.68,14.56,19.86,17.55,20.66,17.28,14.06,12.42,11.86,7.68,9.45,6];
xx=0.2:
0.1:
37.5;
yy1=interp1(x1,y1,xx,'
yy2=interp1(x2,y2,xx,'
plot(xx,yy1,'
xx,yy2,'
b'
s1=trapz(xx,yy1);
s2=trapz(xx,yy2);
s=s2-s1
所以,S=750.2003
4.赛道路面情况,以及对选手的建议。
方法一
clear;
clc;
x1=[0.30,4.56,6.45,9.71,13.17,16.23,18.36,20.53,23.15,26.49,28.23,29.10,30.65,30.92,31.67,33.03,34.35,35.01,37.50];
y1=[6.56,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.00];
x2=[0.30,1.80,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.50];
y2=[6.56,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.00];
axis([-540-545]);
grid;
length(x1)-1
l=0;
t1=x1(i):
x1(i+1);
d1=spline(x1,y1,t1);
forii=1:
length(d1)-1
l=l+sqrt((0.01)^2+(d1(ii+1)-d1(ii))^2);
v1(i)=l*4;
ifv1(i)<
=10
holdon;
plot(t1,d1,'
linewidth'
3);
elseifv1(i)>
30
4);
else
5);
end
forj=1:
length(x2)-1
ll=0;
t2=x2(j):
x2(j+1);
d2=spline(x2,y2,t2);
forjj=1:
length(d2)-1
ll=ll+sqrt((0.01)^2+(d2(jj+1)-d2(jj))^2);
v2(j)=ll*4;
ifv2(j)<
plot(t2,d2,'
2);
elseifv2(j)>
plot(t2,d2,'
End
可以看出,这个程序比较复杂。
于是,我们又用了另外一种方法,程序如下:
方法二
x=[0.3,4.56,6.45,9.71,13.17,16.23,