文档库 最新最全的文档下载
当前位置:文档库 › 西南交大杨凯老师的MATLAB课程设计

西南交大杨凯老师的MATLAB课程设计

Matlab课程设计

如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。O1为固定点,O2点为转动点,O3点为滚轮的中心,连杆的有效长度分别为L1和L2。任一位置时,连杆1相对于某基准位置的角度为θ1,两连杆的相对角度为θ2。其中对于θ1,取垂直方向为基准线,在基准线左侧的为正,基准线右侧的为负;对于θ2,以连杆一为基准线,在基准线左侧的为正,在基准线右侧的为负。这样可以计算求出O3点的坐标值在踏面直角坐标系(XOY)中的位置。当连杆1连续朝一个方向旋转时,可以获得O3点的一系列的坐标点所构成的轨迹坐标值(x3,y3)

x3=x1-L1sinθ1-L2sin(θ1+θ2);y3=y1-L1cosθ1-L2cos(θ1+θ2) (1) 当滚轮与踏面紧密贴靠时,滚轮的包络线就是踏面外形的实际轮廓线。滚轮的包络线在踏面坐标系中的坐标值可以用下式求得

x′3=x3-rsinθ;y′3=y3-rcosθ(2)

式中,θ为滚轮轨迹拟合曲线在某一点法线与垂直轴之间的夹角,可用下式求得:

tanθ=dy3/dx3 (3)

式(1)中,x1、L1和L2为已知值,θ1和θ2为测量所得值。

其中L1=60mm;L2=72mm,r=8.5mm.

x1=0;y1=0;

说明:angle.mat是角度数据,共7980个数据,其中前面一半(3990)为θ1,后面一半为θ2,且一一对应

课程设计报告要求:

(1)用图形画出踏面外形的实际轮廓线。

(2)在实际轮廓线上,距离最高点O(x方向54mm距离处A)两点垂直高度差;(3)在实际轮廓线上,求比A点高12mm曲线上的B点与O点的x方向距离。

备注:*图形中横坐标方向为X轴,纵坐标方向为Y轴

【分析】:①对于第一问,首先要获取数据,angle.mat是角度数据,共7980个数据,其中前面一半(3990)为θ1,后面一半为θ2,load('angle.mat')命令可以加载angle.mat中的数据。用两个数组分别存储θ1、θ2。将题中给出的几个公式翻译成MATLAB语言,可以得到滚轮的包络线在踏面坐标系中的坐标值用plot 命令绘制踏面外形的实际轮廓线。②对于第二问,用max函数可以求得最高点O 的纵坐标及该点对应的点,进而我们可以根据第一问中包络线的函数式求得O 点横坐标,A点横坐标为O点横坐标加54.选取一定量的数据,利用插值函数interp1在x处插入值的y值,然后将O点纵坐标与A点纵坐标相减即得两点间垂直距离。③同理,对于第三问,同样可以根据几何关系求得B点纵坐标,同样利用插值函数求得B点横坐标,O点与B点横坐标差值的绝对值即为两点的水平距离。

【MATLAB程序】:

clear;

b=load('angle.mat');%加载已知数据

m=b.angle(1:3990);%前半部分数据,为θ1

n=b.angle(3991:7980);%后半部分数据为θ2

L1=60;L2=72;r=8.5;%已知数据

x1=0;y1=0;%已知数据

x3=x1-L1*sin(m*pi/180)-L2*sin((m+n)*pi/180);%已知的计算公式

y3=y1-L1*cos(m*pi/180)-L2*cos((m+n)*pi/180);

dy=diff(y3);%求偏导

dx=diff(x3);

p=atan(dy );

q=p*pi/180;%角度转化为幅度制;

x5=x3(2:3990); %矩阵维数要相同;

y5=y3(2:3990);

x4=x5-r*sin(q);%已知计算公式

y4=y5-r*cos(q);

plot(x4,y4); %绘制踏面外形的实际轮廓线

grid on;

title('matlab课程设计');

[maxy,i]=max(y4);%求y4中的最大值maxy和位置i

maxx=x4(i);%求i位置处对应的x值

x=maxx+54;%为距离y值最大位置处54mm处的x横坐标

x6=x4(2000:3989);%给定插值区间的数据

y6=y4(2000:3989); %给定插值区间的数据;

yc=interp1(x6,y6,x);% x处插入值的y值

h=maxy-yc %A O两点间的垂直距离

y7=yc+12;%B点纵坐标

x8=x4(1500:1600);%给定插值区间的数据

y8=y4(1500:1600); % 给定插值区间的数据

k=interp1(y8,x8,y7);

d=abs(maxx-k)%B O 两点水平距离。运行结果:

h =

26.5677

d =

20.9637

>>

相关文档