MATLAB2009_1_1自行车的运动
- 格式:doc
- 大小:1.59 MB
- 文档页数:9
1 自行车轮装饰物的运动轨迹 {问题1} 为了使平淡的自行车增添一份美感,同时,也为了增加自行车的安全系数,一些骑自行车的人及自行车厂家在自行车的辐条上安装一款亮丽夺目的饰物。当有这种饰物的自行车在马路上驶过时,这种饰物就像游龙一样,对街边的行人闪过一道波浪形的轨迹。 (1)当自行车在平地上运动时。这个轨迹是什么曲线?试画其图形。 (2)当自行车在斜坡上运动时。这个轨迹是什么曲线?试画其图形。 (3)当自行车在一个抛物线型的拱桥上通过时。这个轨迹是什么曲线?试画其图形。 (4)当自行车在一拱一拱的正弦曲线上通过时,这个轨迹是什么曲线?试画其图形。 [数学模型] 假设路面曲线是y = f(x),自行车在运动过程中,车轮在路面上作无滑动的滚动,与路面只有一个接触点。车轮可当作一个半径为R的圆,运动时与地面相切。饰物P离圆心的距离为r。如A1图所示,CP与圆相交于A,A是初始接触点。当圆滚过θ角之后,接触点移到A'处,圆从C移到C'处,饰物从P移到P'处。 曲线弧元为
2222ddd1d1[()]dsxyyxfxx
设A'点的坐标为(x0,y0),则有弧长关系 02
01[()]dxRfxx
(1)
设圆心C'的坐标为(xC,yC),C'在曲线的法线上,因此联立方程 0001()()()CCyfxxxfx
22200()[()]CCxxfxyR
解得圆心坐标 0020()1[()]C
fxxxRfx
(2)
0201()1[()]CyfxRfx
(3)
设P'的坐标为(x,y),则 x = xC – rsin(θ - φ),y = yC + rcos(θ - φ) 其中θ是圆心角,φ是法线与竖直方向的夹角,也是切线与水平方向的夹角,称为仰角。由(1)式可得圆心角
02
0
11[()]dxfxxR (4)
根据导数的定义可得仰角
O R A1图 C r
C'
A A' P φ φ
P' θ
x
y 2
φ = arctan[f '(x0)] (5)
饰物的轨迹方程为
0020()sin()sin()1[()]C
fxxxrxRrfx
(6a)
0201cos()()cos()1[()]CyyrfxRrfx
(6b)
[解析](1)设y = 0,路面是一条直线,则f '(x) = 0,φ = 0,θ = x0/R,饰物的轨迹方程为 x = x0 – rsin(x0/R),y = R – rcos(x0/R) (7a) 或 x = Rθ – rsinθ,y = R – rcosθ (7b) 当r < R时,上式是短摆线方程;如果r = R,上式就是典型的摆线方程。 [算法](1)取R为长度单位,则短摆线方程可化为 x* = θ – r*sinθ,y* = 1 – r*cosθ (7*) 其中x* = x/R,y* = y/R,r* = r/R。θ是自变量,r*是可调节的参数。 [图示](1)如M1_1_1a图所示,当r < R时,短摆线处处光滑。如M1_1_1b图所示,当r = R时,摆线在x/R = 2nπ处出现尖点。如M1_1_1c图所示,当r > R时,即:饰物在车轮之外(例如火车车轮边缘的情况),摆线在x/R = 2nπ附近出现回旋。
M1_1_1a图 M1_1_1b图 [程序]zqy1_1_1bicycle.m %摆线的轨迹 clear %清除变量 r=input('请输入半径r/R:'); %键盘输入半径比 th=linspace(0,2*2*pi,1000); %参数向量 x=th-r*sin(th); %横坐标向量 y=1-r*cos(th); %纵坐标向量 figure %建立图形窗口 plot([0,th(end)],[0,0]) %画横线 hold on %保持图像 plot(x,y) %画摆线 axis equal %使坐标间隔相等 grid on %加网格 fs=16; %字体大小 3
title('摆线的轨迹','FontSize',fs) %显示标题 xlabel('\itx/R','FontSize',fs) %x标签 ylabel('\ity/R','FontSize',fs) %y标签 text(0,0,['\itr/R\rm=',num2str(r)],'FontSize',fs)%显示字符串
M1_1_1c图 M1_1_2图 [程序]zqy1_1_2bicycle.m %摆线的轨迹族 clear %清除变量 r=[0.5,1,1.5]; %半径比向量 th=linspace(0,2*2*pi,1000); %参数向量 [R,TH]=meshgrid(r,th); %化为矩阵 X=TH-R.*sin(TH); %横坐标向量 Y=1-R.*cos(TH); %纵坐标向量 figure %建立图形窗口 plot(X,Y) %画摆线 axis equal %使坐标间隔相等 grid on %加网格 fs=16; %字体大小 title('自行车轮饰物的摆线族','FontSize',fs)%显示标题 xlabel('\itx/R','FontSize',fs) %x标签 ylabel('\ity/R','FontSize',fs) %y标签 legend([repmat('\itr/R\rm=',length(r),1),num2str(r')])%显示图例 hold on %保持图像 plot([0,th(end)],[0,0]) %画横线
[解析](2)设f(x) = kx,路面是一个斜坡,k是斜坡的斜率,则f '(x) = k。设k = tanα,α是斜坡的角度,可得 φ = arctan(k) = α (8)
0220
0
0
111d1tancosxxkxxRRR (9)
饰物的轨迹方程为 x = x0 – Rsinα - rsin(θ – α),y = x0tanα + Rcosα – rcos(θ – α) (10) 当α = 0时,斜坡变成平地,由上式可得(7)中两式。 4
[算法](2)取R为长度单位,则饰物的方程可化为 x* = x0* – sinα - r*sin(θ – α),y* = x0*tanα + cosα – r*cos(θ – α) (10*) 其中x0* = x0/R,y0* = y0/R。圆心角可表示为
*0cos
x
(9*)
x0*是自变量,r*和α是可调节的参数。 [程序]zqy1_2bicycle.m %自行车沿着斜坡运动时饰物的轨迹 clear %清除变量 r=input('请输入相对半径r/R:'); %键盘输入相对半径 alpha=input('请输入斜坡的度数alpha:'); %键盘输入角度 a=alpha*pi/180; %化为弧度 x0=0:0.001:20; %自变量向量 y0=x0*tan(a); %坡度的纵坐标 th=x0/cos(a); %参数向量 x=x0-sin(a)-r*sin(th-a); %横坐标向量 y=y0+cos(a)-r*cos(th-a); %纵坐标向量 figure %建立图形窗口 plot(x0,y0) %画斜坡 hold on %保持图像 plot(x,y) %画轨迹 axis equal %使坐标间隔相等 grid on %加网格 fs=16; %字体大小 title('自行车轮饰物在斜坡上的轨迹','FontSize',fs)%显示标题 xlabel('\itx/R','FontSize',fs) %x标签 ylabel('\ity/R','FontSize',fs) %y标签 txt=['\itr/R\rm=',num2str(r),',\it\alpha\rm=',num2str(alpha),'\circ'];%字符串 text(0,0,txt,'FontSize',fs) %显示字符串
M1_2a图 M1_2b图 [图示](2)如M1_2a图所示,当α > 0时,自行车上坡。如M1_2b图所示,当α < 0时,自行车下坡。 5
[解析](3)抛物线的标准方程为 f(x) = x2/2p (11) 路面是一条抛物线,p是抛物线的准焦距。由于f '(x) = x/p,因此仰角为 φ = arctan(x0/p) (12)
圆心角为
00/220011(/)d1dxxpp
xpxyyRR
根据积分公式可得 220000{1()ln[1()]}2xxxxpRpppp
(13)
饰物的轨迹方程为 002
0
/sin()1(/)xpxxRrxp
(14a)
20
20
1cos()21(/)xyRrpxp
(14b)
[算法](3)取R为长度单位,则抛物线方程可化为 y0* = x0*2/2p* (11*) 其中p* = p/R,x0* = x0/R,y0* = y0/R。 饰物的方程可化为 *****0
0**2
0
/sin()1(/)xpxxrxp
(14a*)
*2**0
***2
0
1cos()21(/)xyrpxp
(14b*)
仰角为 φ = arctan(x0*/p*
) (12*)
圆心角为
*****
220000
****{1()ln[1()]}2xxxxppppp
(13*)
x0*是自变量,r*和p*是可调节的参数。 [程序]zqy1_3bicycle.m如下。 %自行车沿着抛物线运动时饰物的轨迹 clear %清除变量 r=input('请输入相对半径r/R:'); %键盘输入相对半径 p=input('请输入相对准焦距p/R:'); %键盘输入相对准焦距 x0=-20:0.001:20; %自变量向量 xx0=x0/p; %中间变量 y0=x0.*xx0/2; %抛物线纵坐标