请问如何用Matlab画这样的图形:
并且,能够得到P点运动轨迹的方程表达式吗? 展开
P点的运动轨迹方程是
R=5;
r=1;
t=linspace(0,2*pi);
x1=R*cos(t);
y1=R*sin(t);
x2=r*cos(t);
y2=r*sin(t);
x3=(R-r)*cos(t);
y3=(R-r)*sin(t);
x=(R-r)*cos(t)+r*cos(R/r*t-t);
y=(R-r)*sin(t)-r*sin(R/r*t-t);
plot(x1,y1,'k');hold on;
h1=plot(x2+R-r,y2,'b-');
h2=plot(x(1),y(1),'r-');
h3=plot([R-r R],[0 0],'k.-');
hold off;
axis equal;
for ii=2:length(t)
set(h1,'xdata',x2+x3(ii),'ydata',y2+y3(ii));
set(h2,'xdata',x(1:ii),'ydata',y(1:ii));
set(h3,'xdata',[x3(ii) x(ii)],'ydata',[y3(ii) y(ii)]);
pause(0.1);
drawnow
end
以上代码画出动态过程如上图,只要画轨迹的话
之需要计算x,y就可以
R=5;r=1;
t=linspace(0,2*pi);
x=(R-r)*cos(t)+r*cos(R/r*t-t);
y=(R-r)*sin(t)-r*sin(R/r*t-t);
plot(x,y);
谢谢你。
不过,轨迹方程要自己计算出来吗?
能不能输入一些条件(如定圆位置,半径,动圆半径)来让Matlab自动得到呢?
一般来说,从问题出发,构造数学模型,然后计算
而如果想让计算机自己从实际问题出发列出公式,那基本实现不了