采用matlab编程:曲线运动。高手请指教!!!

曲线运动假设一个小孩在平面上沿一曲线行走,此曲线由2个时间函数X(t),Y(t)确定,如果此小孩借助长度为a的硬棒拉某个玩具,请计算玩具的轨迹,设(x(t),y(t))为... 曲线运动
假设一个小孩在平面上沿一曲线行走,此曲线由2个时间函数X(t),Y(t)确定,如果此小孩借助长度为a的硬棒拉某个玩具,请计算玩具的轨迹,设(x(t),y(t))为玩具的位置。
训练内容:
1、数学建模。
2、编写函数求解。
展开
 我来答
风之天炼
2013-07-13 · TA获得超过230个赞
知道答主
回答量:57
采纳率:0%
帮助的人:70.3万
展开全部
小孩和玩具的问题
题目. 一个小孩借助长度为a的硬棒,拉或推某玩具.此小孩沿某曲线行走,计算并画出玩具的轨迹.
图 1
A
B
C
图 2
解:假设小孩拉的玩具如图1所示,由于整个推拉过程中(图2),玩具走的轨迹,只与C在地面上的投影点B的轨迹有关。所以我们把模型简化为图3。

A
a
图 3
假设1:小孩B点所走曲线为沿着小
棒a的方向(直线AB),则玩具A走的轨
迹为直线(沿AB方向的)。此时,小孩行
走的速度与玩具的速度相同。
假设2:小孩B点所走曲线为一个A点
为心的圆,则玩具不动。此时,如果小孩B
行走的速度为v,而玩具A的速度却为零,
这说明,在推玩具的过程中,小孩B的速度
与玩具A的速度不同。
由此特殊情况,我们可以看到,当小孩B行走的路线是曲线时,小孩B的速度与玩具A的速度是不同的。
假设3:如果小孩B点走的轨迹是一条曲线c(图4 ),不妨设曲线的轨迹方程是一个与时间t有关的参数方程。而玩具A走的轨迹为曲线c´。
图4

则t时刻小孩 的坐标为 ,
玩具 的坐标为 。
(1) t时刻,由于 的距离为a,由于小孩拉的是硬棒,在小孩拉玩具的过程中,假设棒与地面的角度不变,因此有:

即 (1)
(2) 设玩具在A¢点的速度,则的方向应为玩具所走曲线c¢的切线方向,而玩具始终是沿着小棒A¢B¢的方向,所以:
//

所以:
又 ,由向量知识有
简化得:
故有 ,
化简得 。

小孩所走曲线为一个以原点为圆心半径为R的圆时,小孩所走路径的曲线方程为:


利用MATLAB软件求解上述微分模型,程序如下:
函数文件:
建立函数文件fun5.m
function dy=fun5(t,y)
dy=[(-5*sin(t)*(5*cos(t)-y(1))+5*cos(t)*(5*sin(t)-y(2)))*(5*cos(t)-y(1))./((5*cos(t)-y(1))^2+(5*sin(t)-y(2))^2)

主程序:
clear,clc
close all
[t,y]=ode45('fun5',[0,100],[10,0]);
X=5*cos(t);
Y=5*sin(t);
figure(1)
plot(X,Y,'r.')
hold on
plot(y(:,1),y(:,2),'*')

%玩具的初始位置为(12,0)
t0=0;tf=100;
[t,y]=ode45('fun5',[t0,tf],[12,0]);
X=5*cos(t);
Y=5*sin(t);
figure(2)
plot(X,Y,'r.')
hold on
plot(y(:,1),y(:,2),'*')

%玩具的初始位置为(8,0)
t0=0;tf=100;
[t,y]=ode45('fun5',[t0,tf],[8,0]);
X=5*cos(t);
Y=5*sin(t);
figure(3)
plot(X,Y,'r*')
hold on
plot(y(:,1),y(:,2),'.')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式