2007年4月25日 星期三

第七次作業


7.1 7.2
ground(0,0,6,0)
anchor(-3,0,0,0)
for t=1:1:5
dyad_rrrr([15 20 10],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t)
end


7.3
for t=1:0.5:5;
clf;
ground(0,0,6,0);
anchor(-3,0,0,0);
dyad_rrrr ([15 20 10],[0 0 0],[0.2,0.3,0.4],[0,0.1,0.2],t);
pause(0.1);
end;


我將老師的FUNCTION增加了角位移的移動
function dyad_rrrr(rho,theta,td,tdd,t)

% Call function dyad(rho,theta,td,tdd) to
% analyze a dyad linkage composing cranks and a dyad with drawing.
% Inputs: rho:length of links
% theta:incling angles, deg.
% td:angular velocity, rad/s
% tdd:angular acceleration, rad/s^2
% Example:
% dyad_draw([15 10 5],[0 60 90],[.5 .8 .5],0)
w=theta+td*t+tdd*t^2/2
td2=td+t*tdd
[vec,data] = dyad(rho,w,td2,tdd);
x=[0;cumsum(real(data(:,1)))];y=[0;cumsum(imag(data(:,1)))];
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
axis equal;
end
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
end
for i=1:length(x)-1
linkshape([x(i) y(i)],[x(i+1) y(i+1)],1);
axis equal;
end
for k=1:length(rho)
x0=x(k+1);y0=y(k+1);
vx=x0+real(data(k,2));vy=y0+imag(data(k,2));
ax=x0+real(data(k,3));ay=y0+imag(data(k,3));
line([x0 vx],[y0 vy],'marker','s','linewidth',2);
line([x0 ax],[y0 ay],'marker','s','color','r','linewidth',3)
end
sdata=sum(data);
ss=[real(sdata(1)) imag(sdata(1))];
vv=[real(sdata(2)) imag(sdata(2))];
aa=[real(sdata(3)) imag(sdata(3))];
line([0 ss(1)],[0 ss(2)],'linestyle',':','linewidth',2)
line([ss(1) ss(1)+vv(1)],[ss(2) ss(2)+vv(2)],...
'marker','d','color','g','linewidth',3)
line([ss(1) ss(1)+aa(1)],[ss(2) ss(2)+aa(2)],...
'marker','d','color','m','linewidth',3)
axis equal;grid on

沒有留言: