用matlab以动画的方式绘制出摆线 x=a(t-sint) y=a(1-cost) (a自己赋值)的渐屈线

漆颖0gE
2011-06-08 · TA获得超过374个赞
知道小有建树答主
回答量:207
采纳率:75%
帮助的人:143万
展开全部
clear;
clc;
close;
a=1;
syms t
x=a*(t-sin(t));
y=a*(1-cos(t));
ezplot(x,y,[0,2*pi]),grid on;hold on;
dy=diff(y)/diff(x);
dyy=diff(dy)/diff(x);
xx=x-(1+dy^2)*dy/dyy;%渐屈线的坐标
yy=y+(1+dy^2)/dyy;
M=50;
t=0;
xxx=subs(xx);
yyy=subs(yy);
H1=plot(xxx,yyy,'r');hold on;grid on;axis([0,7,-2.5,2.5]);
x1=subs(x);
y1=subs(y);
H2=plot([x1,xxx],[y1,yyy],'k--');
H3=plot(x1,y1,'ko');
H4=plot(xxx,yyy,'ro');
tt=linspace(0,2*pi,M);
for i=1:M
pause(0.2);
t=tt(1:i);
xxx=subs(xx);
yyy=subs(yy);
x1=subs(x);
y1=subs(y);
set(H1,'xdata',xxx,'ydata',yyy);
set(H2,'xdata',[x1(i),xxx(i)],'ydata',[y1(i),yyy(i)]);
set(H3,'xdata',x1(i),'ydata',y1(i));
set(H4,'xdata',xxx(i),'ydata',yyy(i));
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangwlcea
2011-06-08 · 超过17用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
clear all;clf
a=1;
t=(1:720)./180*pi;
x=a*(t-sin(t));
y=a*(1-cos(t));

plot(x,y,'k-');hold on

t1=t+pi;
x1=a*(t1-sin(t1))-pi;
y1=a*(-1-cos(t1));
plot(x1,y1,'g:')

for i=1:length(t)
h0=plot(x(i),y(i),'ko');
h1=plot(x1(i),y1(i),'ro');
h2=plot([x(i) x1(i)],[y(i) y1(i)],'b-');
pause(0.01);
delete(h0);
delete(h1);
delete(h2);
if i>1
plot(x1(i-1:i),y1(i-1:i),'r-')
end
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式