1、1、采用DDA脉冲当量插补算法完成单轴的运动控制,并绘制速度图(1)各物理量初值设置如下:输入位移的初始值: 0输入速度的初始值: 10输入加速度的初始值: 3输入加加速度的初始值: 5输入时间长度: 2输入脉冲当量值: 0.05(2) DDA插补Matlab代码clear all;P0=input(输入位移的初始值);V0=input(输入速度的初始值);A0=input(输入加速度的初始值);B0=input(输入加加速度的初始值);T=input(输入时间长度);DT=input(输入脉冲当量值);% 确定K值K=T/DTt=zeros(1,K+1);B=zeros(1,K+1);A=z
2、eros(1,K+1);V=zeros(1,K+1);P=zeros(1,K+1);% 确定时间离散值for i=1:K t(i+1)=t(i)+DT;end% 确定各物理量的初始值B(1)=B0;A(1)=A0;V(1)=V0;P(1)=P0;% 使用DDA插补算法,确定各物理量离散值for j=1:K B(j+1)=B(j);endfor k=1:K A(k+1)=A(k)+B(k); V(k+1)=V(k)+A(k); P(k+1)=P(k)+V(k);endplot(t,V,b+-,LineWidth,1.5)title(速度曲线图像);xlabel(t坐标轴);ylabel(V坐标轴
3、);(3) 速度曲线图像2、 采用DDA脉冲当量插补算法,完成一平面三次样条曲线的运动控制程序仿真。(注:三次样条曲线为y=a0+a1x+a2x2+a3x3)(1)三次曲线各项系数:输入常数项系数: 5输入一次项x的系数: 2输入二次项x2的系数: -3输入三次项x3的系数: 7(2) DDA插补Matlab代码clear all;a0=input(输入常数项系数);a1=input(输入一次项x的系数);a2=input(输入二次项x2的系数);a3=input(输入三次项x3的系数);% 求K值sum1=0;sum2=0;A=a1,a2,a3;Pos=0,0,0;Neg=0,0,0;for
4、 i=1:3 if(A(i)=0) Pos(i)=A(i); else Pos(i)=0; end sum1=sum1+i*Pos(i);endfor j=1:3 if(A(j)=sum2) K=sum1else K=sum2end% 计算插补初值D1y0=a1/K-a2/(K2)+a3/(K3);D2y0=(2*a2)/(K2)-(6*a3)/(K3);D3y0=(6*a3)/(K3);% DDA增量插补,使用差分递推算法x=zeros(1,K+1);y=zeros(1,K+1);D1y=zeros(1,K+1);D2y=zeros(1,K+1);D3y=zeros(1,K+1);for i=1:K x(i+1)=x(i)+1/K;endy(1)=a0;D1y(1)=D1y0;D2y(1)=D2y0;D3y(1)=D3y0;for i=1:K D3y(i+1)=D3y(i);endfor j=1:K D2y(j+1)=D2y(j)+D3y(j+1); D1y(j+1)=D1y(j)+D2y(j+1); y(j+1)=y(j)+D1y(j+1);endplot(x,y,bo-,LineWidth,1.5)title(三次样条曲线的图像);xlabel(x坐标轴);ylabel(y坐标轴);legend(y=a0+a1x+a2x2+a3x3);(3) 三次样条曲线的图像4