null应用MATLAB建模的一个例子
——数学也是一门技术
王天顺 整理应用MATLAB建模的一个例子
——数学也是一门技术
王天顺 整理数学是一门技术
一个例子——足球比赛中的吊门问
谈谈数学建模竞赛及
数学是一门技术数学是一门技术技术的定义
《辞海》:泛指根据生产实践经验和自然科学原理而发展成的各种工艺操作方法与技能;除操作技能外, 广义的还包括相应的生产工具和其他物质设备,以及生产的工艺过程或作业程序、方法。
《科学学辞典》和《科技辞典》:是为社会生产和人类物质文化生活需要服务的,供人类利用和改造自然的物质手段、智能手段和信息手段的总和。 null数学及其应用的特征
是一种智能形态的技术
在数学软件的平台上,又表现为一般的物化形态null数学建模技术
指数学及其应用于解决实际问题的整个过程
多样性、合理性、具体问题具体
艺术性足球比赛中的吊门问题足球比赛中的吊门问题 考虑如下的因素:球与球门的距离为a,守门员与球门的距离为b,球门高h,守门员最大摸高H,球出脚的初速度为v,与水平方向的夹角为alpha(称为初射角).给定,h=2.44m,H=3.20m,v=30m/s,重力加速度g=10m/s2,针对下列几组数据分别给出能吊门成功的相应初射角范围,要求精度在小数点后第3位。
a=6m,b=1m;
a=10m,b=3m;
a=20m,b=5m。
问题分析问题分析先考虑最简单情形,即不考虑空气阻力等…,此时,球的运动轨迹是抛物线,如果守门员不动,总有合适的角度使吊门成功。
这不是求一个角度值,而是求一个范围!通常的思路是把问题整理成两个方程求根问题:一个方程是求吊门成功的最小角度,一个方程是求吊门成功的最大角度。
有可能落地弹入球门,要考虑反弹入门的情况。直观分析直观分析最简单情形,抛射体的运动轨迹为抛物线方程如下
借助于使用方便的数学软件,可直观地看到各种初射角对应的抛射体运动的轨迹图形。最简情形——程序1-1最简情形——程序1-1v=30;g=10;
h=2.44;H=3.2;
a=6;b=1;
l=a-b;L=a*1.1;
x=0:0.01:L;
for alpha=1.5368:0.00001:1.538
[y,tfinal]=paosheti1(x,alpha,v,g);
tH=l/(v*cos(alpha));
plot(l,H,'r+',a,h,'r+'),hold on,
plot(x,y),grid,
hold off
title(['足球比赛中的吊门 ','初射角=',num2str(alpha,6) ,...
' 守门员的移动时间=',num2str(tH)]),pause
endC:\WINDOWS\Desktop\程序\MATLAB 6.5.lnk程序1-1之抛射体轨迹函数程序1-1之抛射体轨迹函数function [y,t]=paosheti1(x,alpha,v,g)
y=x*tan(alpha)-x.^2*g/(2*v^2*(cos(alpha))^2);
t=2*v*sin(alpha)/g;
xmax=v*cos(alpha)*t;
n=length(x);
for i=1:n
if y(i)<0
xx=x(i)-xmax;
y(i)=xx*tan(alpha)-xx.^2*g/(2*v^2*(cos(alpha))^2);
end
end 初步结果初步结果对于第一组数据,吊门成功的最小角度1.53697(为弧度,下同),对应的时间大约在4.9281秒,最大角度1.53787,对应的时间是5.0627秒;
对于第二组数据,吊门成功的最小角度1.51437,对应的时间大约在4.1374秒,最大角度1.51587,对应的时间大约在4.2503秒;
对于第三组数据,吊门成功的最小角度1.45718,对应的时间大约在4.4103秒,最大角度1.46022,对应的时间大约是4.531秒。 初步结果分析——问题的再分析初步结果分析——问题的再分析遵循由简单到一般的建模原则,先考虑简单情形,得到初步结果,以此为基础,发现问题、分析问题,找到求解思路,并逐步将问题一般化,甚至可以发现逐步一般化的顺序(还是由简到繁,先将哪些方面使之更一般化,如空气阻力、守门员可移动较易);
结果有一定的合理性;
从近似计算角度分析,在允许的精度范围内,如上的“作图——观察——调整”不失为一种求解方法;
相比球与守门员及与球门的距离,注意守门员移动的时间,显然守门员有足够的时间移动,因此调门是不会成功的! 原因在于将问题假设得过于简单化、理想化了!修改假设应是下一步必须考虑的。小结:最简情形之假设小结:最简情形之假设不考虑空气阻力;
不考虑守门员在球运行过程中的移动;
球落地是完全弹性的,只考虑仅有一次触地反弹形成的吊门情况;
只考虑越过守门员头顶的吊门,即出球点与守门员连成一线延伸到球门这样一个直线方向,不考虑从守门员侧面吊门的情况;
将球看作是数学上的一个点;
不考虑球的旋转,实际比赛时,旋转是很重要的!
球的质量为一个单位。有空气阻力的情形之一
——仅x方向考虑空气阻力有空气阻力的情形之一
——仅x方向考虑空气阻力假设只考虑x方向受空气阻力的影响;
假设空气阻力与速度成正比,比例系数为k=0.4。
此时,x(t)满足如下的微分方程初值问题问题的解问题的解空气阻力的情形之一——程序2-1-1空气阻力的情形之一——程序2-1-1v=30;k=0.4;g=10;h=2.44;H=3.2;
a=20;b=5;l=a-b;L=a*1.1;
for alpha=1.2:0.001:1.3 %1.5425%pi/2-eps
Th=-log(1-a*k/(v*cos(alpha)))/k;
T=Th*1.2;
t=0:0.01:T;
[x,y]=paosheti2(t,alpha,v,k,g);
TH=-log(1-l*k/(v*cos(alpha)))/k;
plot(l,H,'r+',a,h,'r+'),hold on,
plot(x,y),grid,
hold off
title(['足球比赛中的吊门 ','初射角=',num2str(alpha,6) ,...
' 守门员的移动时间=',num2str(TH)]),pause
end 空气阻力的情形之一——程序2-1-2空气阻力的情形之一——程序2-1-2function [x,y]=paosheti2(t,alpha,v,k,g)
x=v*cos(alpha)*(1-exp(-k*t))/k;
y=v*sin(alpha)*t-g*t.^2/2;
n=length(t);
t0=2*v*sin(alpha)/g;%the time when the ball down to ground
xt0=v*cos(alpha)*(1-exp(-k*t0))/k;
vxt0=v*cos(alpha)*exp(-k*t0);
vyt0=v*sin(alpha);
vt0=sqrt(vxt0^2+vyt0^2);
for i=1:n
if t(i)>t0
tt=t(i)-t0;
x(i)=xt0+vt0*cos(alpha)*(1-exp(-k*tt))/k;
y(i)=vt0*sin(alpha)*tt-g*tt^2/2;
end
end 空气阻力的情形之一的结果及分析改进(一)空气阻力的情形之一的结果及分析改进(一)前面结果有问题,反弹后的角度不应该是alpha了,应该以落地时的情况计算出新反射角。
修改抛射体函数:将paosheti2(t,alpha,v,k,g),换成paosheti22(t,alpha,v,k,g)。 程序2-1-2修改如下程序2-1-2修改如下function [x,y]=paosheti22(t,alpha,v,k,g)
x=v*cos(alpha)*(1-exp(-k*t))/k;
y=v*sin(alpha)*t-g*t.^2/2;
n=length(t);
t0=2*v*sin(alpha)/g;%the time when the ball down to the ground
xt0=v*cos(alpha)*(1-exp(-k*t0))/k;
vxt0=v*cos(alpha)*exp(-k*t0);
vyt0=v*sin(alpha);
vt0=sqrt(vxt0^2+vyt0^2);
alpha1=atan(vyt0/vxt0);
for i=1:n
if t(i)>t0
tt=t(i)-t0;
x(i)=xt0+vt0*cos(alpha1)*(1-exp(-k*tt))/k;
y(i)=vt0*sin(alpha1)*tt-g*tt^2/2;
end
end 空气阻力的情形之一的结果及分析改进(二)空气阻力的情形之一的结果及分析改进(二)针对第三组数据,计算的最小角度为1.268,守门员移动时间为2.7771秒,最大角度是1.27,时间是2.8101秒;
结果仍有问题:反弹前后的两波高度一样;
解决的办法是再考虑y方向也有空气阻力。有空气阻力的情形之二
——x、y方向均考虑空气阻力有空气阻力的情形之二
——x、y方向均考虑空气阻力假设x,y两个方向均受空气阻力的影响 ;
假设空气阻力与速度成正比,比例系数为k=0.4。
此时,x(t)仍满足同上的常微分方程初值问题nully(t)满足如下的常微分方程初值问题问题的解问题的解有空气阻力的情形之二——程序2-2-1有空气阻力的情形之二——程序2-2-1v=30;k=0.4;g=10;
h=2.44;H=3.2;
a=20;b=5;
l=a-b;L=a*1.1;
for alpha=1.2:0.001:1.3 %1.5425%pi/2-eps
Th=-log(1-a*k/(v*cos(alpha)))/k;
T=Th*1.2;
t=0:0.01:T;
[x,y]=paosheti3(t,alpha,v,k,g);
TH=-log(1-l*k/(v*cos(alpha)))/k;
plot(l,H,'r+',a,h,'r+'),hold on,
plot(x,y),grid,
hold off
title(['足球比赛中的吊门 ','初射角=',num2str(alpha,6) ,...
' 守门员的移动时间=',num2str(TH)]),pause
end 有空气阻力的情形之二——程序2-2-2有空气阻力的情形之二——程序2-2-2function [x,y]=paosheti3(t,alpha,v,k,g)
x=v*cos(alpha)*(1-exp(-k*t))/k;
y=(v*sin(alpha)+g/k)*(1-exp(-k*t))/k-g*t/k;
n=length(t);
t00=2.;
tt0(1)=t00;
tb=1;
ii=1;
while(abs(tb)>1e-5)
tt0(ii+1)=tt0(ii)-paoshetiy(tt0(ii),alpha,v,k,g)/dpaoshetiy(tt0(ii),alpha,v,k,g);
tb=tt0(ii+1)-tt0(ii);
ii=ii+1;
if(ii>20)error('numb. of iter. is 30 times');
end
endnullt0=tt0(ii);
y0=(v*sin(alpha)+g/k)*(1-exp(-k*t0))/k-g*t0/k;
xt0=v*cos(alpha)*(1-exp(-k*t0))/k;
vxt0=v*cos(alpha)*exp(-k*t0);
vyt0=(v*sin(alpha)+g/k)*exp(-k*t0)-g/k;
vt0=sqrt(vxt0^2+vyt0^2);
alpha1=atan(abs(vyt0/vxt0));
for i=1:n
if t(i)>t0%
tt=t(i)-t0;
x(i)=xt0+vt0*cos(alpha1)*(1-exp(-k*tt))/k;
y(i)=(vt0*sin(alpha1)+g/k)*(1-exp(-k*tt))/k-g*tt/k;
end
end 空气阻力情形之二的结果分析及改进空气阻力情形之二的结果分析及改进针对第三组数据,计算的最小角度为1.239,守门员移动时间为2.3797秒,最大角度是1.248,时间是2.4889秒;
有必要考虑守门员可以移动的情形。 守门员可以移动的情形守门员可以移动的情形假设守门员只沿球运行的方向移动;
球一出脚守门员即判断好并移动;
守门员的移动速度记为u,其大小是吊门能否成功的另一关键因素。问题分析问题分析球的运动轨迹与上一种情况完全一致,程序2-2-2不必改。
单独加上守门员的移动显示,二者叠加,可得守门员可移动情形下吊门成功与否的直观显示。守门员可以移动的情形之程序3-1-1守门员可以移动的情形之程序3-1-1v=30;k=0.4;g=10;
h=2.44;H=3.2;
a=20;b0=5;u0=2;
l0=a-b0;L=a*1.1;
for alpha=1.25:0.001:1.3 %1.5425%pi/2-eps
Th=-log(1-a*k/(v*cos(alpha)))/k;
T=Th*1.2;
t=0:0.1:T;
[x,y]=paosheti4(t,alpha,v,k,g);
nn=length(t);
for j=1:nn
xx=x(1:j);
yy=y(1:j);
ll0=l0+u0*t(j);
if ll0>a
l(j)=a;
else
l(j)=ll0;
end
TH=-log(1-l(j)*k/(v*cos(alpha)))/k;
plot(xx,yy,'bo',l(j),H,'r+',a,h,'ro'),grid,pause
end
%hold off
title(['足球比赛中的吊门 ','初射角=',num2str(alpha,6) ,...
'球运行的时间=',num2str(TH)]),pause
end 守门员可以移动的情形之程序3-1-2守门员可以移动的情形之程序3-1-2function [x,y]=paosheti4(t,alpha,v,k,g)
x=v*cos(alpha)*(1-exp(-k*t))/k;
y=(v*sin(alpha)+g/k)*(1-exp(-k*t))/k-g*t/k;
n=length(t);
t00=2.;
tt0(1)=t00;
tb=1;
ii=1;
while(abs(tb)>1e-5)
tt0(ii+1)=tt0(ii)-paoshetiy(tt0(ii),alpha,v,k,g)/dpaoshetiy(tt0(ii),alpha,v,k,g);
tb=tt0(ii+1)-tt0(ii);
ii=ii+1;
if(ii>20)error('numb. of iter. is 30 times');
end
end nullt0=tt0(ii);
y0=(v*sin(alpha)+g/k)*(1-exp(-k*t0))/k-g*t0/k;
xt0=v*cos(alpha)*(1-exp(-k*t0))/k;
vxt0=v*cos(alpha)*exp(-k*t0);
vyt0=(v*sin(alpha)+g/k)*exp(-k*t0)-g/k;
vt0=sqrt(vxt0^2+vyt0^2);
alpha1=atan(abs(vyt0/vxt0));
for i=1:n
if t(i)>t0
tt=t(i)-t0;
x(i)=xt0+vt0*cos(alpha1)*(1-exp(-k*tt))/k;
y(i)=(vt0*sin(alpha1)+g/k)*(1-exp(-k*tt))/k-g*tt/k;
end
end 守门员可以移动的情形之结果守门员可以移动的情形之结果针对第三组数据,且守门员移动速度为,计算的能使球进入球门的最小角度为1.239,球运行的时间为4.2682秒,能使球进入球门的最大角度是1.248,球运行时间是4.5914秒 ;
不难看出,如果攻门一方球一出脚,守门员就向球门方向移动的话,吊门是不可能成功的,除非守门员移动的速度很慢 ,如,u<1.1m/s;
当然,实际比赛中,守门员的移动并不是对方球一出脚就开始的,而是有一个判断、反应的滞后时间!也就是说,即使守门员移动的快一些,还是有可能吊门成功的! 谈谈数学建模竞赛及培训谈谈数学建模竞赛及培训值得注意的建模过程
建模的过程有一定的
,但不绝对;
数学建模体现的是“问题解决”的一个全过程。null有关竞赛及培训的几个方面
“双向”翻译的能力 ;
想象力、联想力、洞察力和创造能力 ;
自学能力和使用文献资料的能力 ;
计算机及相关软件应用能力 ;
论文写作及表达能力;
组织合作能力。结语结语数学是一门技术,更确切地说是指数学建模技术,主要是强调它的应用的一面。但,不能忽略数学的分析、推理、计算是逻辑严密、假设合理的一面。实际中,数学建模通常要求对所得结论要经得起理论和实践的检验!
数学建模竞赛及培训的宗旨:学生的培养!对我们来说就是通过这样一个过程,给他们提供一个机会,让他们经风雨、长见识,锻炼他们的意志品质,提高他们的综合素质和能力。谢谢!谢谢!