如何用matlab画一个圆沿着某条直线运动
1个回答
展开全部
x
=
0:0.01:5;
%
函数变量取值范围
y
=
x;
%
函数
plot(x,y);
axis
equal
hold
on
rho
=
0.1;
%
圆的半径
rho
=
rho*ones(1,100);
theta
=
linspace(-pi,pi,100);
[xx,yy]
=
pol2cart(theta,rho);
h
=
plot(xx,yy,'r');
for
ii
=
0:0.01:5
data
=
ii;
set(h,'Xdata',xx+ii,'Ydata',data+yy);
pause(0.01);
%
调整速度
end
如果你的直线x,y的比例相差较大,那么axis
equal应该删掉,用椭圆代替圆(画出来仍然是圆),椭圆的长轴和短轴的比例可以查看坐标系的DataAspectRatio属性。
还有一个取巧的方法,我刚回答完另一个人,你可以参考一下
x
=
0:0.01:5;
%
函数变量取值范围
y
=
sin(x);
%
函数
plot(x,y);
hold
on
h
=
plot(0,sin(0),'or',
'MarkerSize',
6);%
调节markersize后的数值调节圆的大小
for
ii
=
0:0.01:5
data
=
sin(ii);
set(h,'Xdata',ii,'Ydata',data);
pause(0.01);
%
调整速度
end
=
0:0.01:5;
%
函数变量取值范围
y
=
x;
%
函数
plot(x,y);
axis
equal
hold
on
rho
=
0.1;
%
圆的半径
rho
=
rho*ones(1,100);
theta
=
linspace(-pi,pi,100);
[xx,yy]
=
pol2cart(theta,rho);
h
=
plot(xx,yy,'r');
for
ii
=
0:0.01:5
data
=
ii;
set(h,'Xdata',xx+ii,'Ydata',data+yy);
pause(0.01);
%
调整速度
end
如果你的直线x,y的比例相差较大,那么axis
equal应该删掉,用椭圆代替圆(画出来仍然是圆),椭圆的长轴和短轴的比例可以查看坐标系的DataAspectRatio属性。
还有一个取巧的方法,我刚回答完另一个人,你可以参考一下
x
=
0:0.01:5;
%
函数变量取值范围
y
=
sin(x);
%
函数
plot(x,y);
hold
on
h
=
plot(0,sin(0),'or',
'MarkerSize',
6);%
调节markersize后的数值调节圆的大小
for
ii
=
0:0.01:5
data
=
sin(ii);
set(h,'Xdata',ii,'Ydata',data);
pause(0.01);
%
调整速度
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询