南航机电控制作业DDA插补matlab编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11、采用DDA脉冲当量插补算法完成单轴的运动控制,并绘制速度图(1)各物理量初值设置如下:输入位移的初始值:0输入速度的初始值:10输入加速度的初始值:3输入加加速度的初始值:5输入时间长度:2输入脉冲当量值:0.05(2)DDA插补Matlab代码clearall;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=zeros(1,K+1);V=zeros(1,K+1);P=zeros(1,K+1);%确定时间离散值fori=1:Kt(i+1)=t(i)+DT;end%确定各物理量的初始值B(1)=B0;A(1)=A0;V(1)=V0;P(1)=P0;%使用DDA插补算法,确定各物理量离散值forj=1:KB(j+1)=B(j);endfork=1:KA(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)2title('速度曲线图像');xlabel('t坐标轴');ylabel('V坐标轴');(3)速度曲线图像2、采用DDA脉冲当量插补算法,完成一平面三次样条曲线的运动控制程序仿真。(注:三次样条曲线为y=a0+a1x+a2x^2+a3x^3)(1)三次曲线各项系数:输入常数项系数:5输入一次项x的系数:2输入二次项x^2的系数:-3输入三次项x^3的系数:7(2)DDA插补Matlab代码clearall;a0=input('输入常数项系数');a1=input('输入一次项x的系数');a2=input('输入二次项x^2的系数');3a3=input('输入三次项x^3的系数');%求K值sum1=0;sum2=0;A=[a1,a2,a3];Pos=[0,0,0];Neg=[0,0,0];fori=1:3if(A(i)=0)Pos(i)=A(i);elsePos(i)=0;endsum1=sum1+i*Pos(i);endforj=1:3if(A(j)0)Neg(j)=A(j);elseNeg(j)=0;endsum2=sum2+j*Neg(j);endsum2=-sum2;if(sum1=sum2)K=sum1elseK=sum2end%计算插补初值D1y0=a1/K-a2/(K^2)+a3/(K^3);D2y0=(2*a2)/(K^2)-(6*a3)/(K^3);D3y0=(6*a3)/(K^3);%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);fori=1:Kx(i+1)=x(i)+1/K;endy(1)=a0;D1y(1)=D1y0;D2y(1)=D2y0;D3y(1)=D3y0;fori=1:K4D3y(i+1)=D3y(i);endforj=1:KD2y(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+a2x^{2}+a3x^{3}');(3)三次样条曲线的图像

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功