西南交大杨凯老师MATLAB设计95分Word下载.docx
- 文档编号:22136643
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:475.63KB
西南交大杨凯老师MATLAB设计95分Word下载.docx
《西南交大杨凯老师MATLAB设计95分Word下载.docx》由会员分享,可在线阅读,更多相关《西南交大杨凯老师MATLAB设计95分Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
式
(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轴
【实验分析】:
要用图形画出踏面外形的实际轮廓线,需要由滚轮轴心径迹线经处理(利用
(2)(3)方程组,用导数法线方法减去滚轮半径影响)后得到,而为得到滚轮轴心径迹线,需先获取角度数据,然后用方程组
(1)处理;
获取角度数据可用loadF:
\MATLAB课程设计\angle命令实现,用循环赋值法将数据分为相对应的两部分。
在实际轮廓线上,要求距离最高点O(x方向54mm距离处A)两点垂直高度差,关键在于分别求出OA两点的具体坐标值,由于这里的实际轮廓线的纵横坐标数据是离散的,因此要获得较好的A点的坐标估计,需要用插值法处理得到A点的坐标估计。
在实际轮廓线上,要求比A点高12mm曲线上的B点与O点的水平距离,关键在于求出B点的具体坐标,由于这里的实际轮廓线的纵横坐标数据是离散的,因此要获得较好的B点的坐标估计,同样需要用插值法处理得到A点的坐标估计。
【实验步骤】:
<
第一步>
:
装载angle.dat角度数据,循环赋值,求得滚轮轴心径迹曲线数据,经各小段法线方向减去半径影响,得到实际轮廓线曲线数据后,调用插值工具箱,选择插值方法。
程序源代码:
clear;
%清除工作空间
loadF:
\MATLAB课程设计\angle%将此数据文件装载入angle一维数组中
a1=1:
3990;
a2=1:
%生成两个数组,分别存放两组角度数据
fori=1:
3990%循环赋值
a1(i)=angle(i);
a2(i)=angle(i+3990);
end
L1=60;
L2=72;
r=8.5;
x1=0;
%单位为mm
x3=x1-L1*sin(a1*pi/180)-L2*sin((a1+a2)*pi/180);
y3=y1-L1*cos(a1*pi/180)-L2*cos((a1+a2)*pi/180);
plot(x3,y3,'
r'
)%绘制出滚轮轴心径迹(未减去滚轮半径)
holdon;
X3=2:
Y3=2:
%-12.4184生成数组用于储存实际轮廓线曲线
dy=1:
dx=1:
p=1:
q=1:
dy=diff(y3);
dx=diff(x3);
p=atan(dy/dx);
q=p*pi/180;
X3=x3(2:
3990)-r*sin(q);
Y3=y3(2:
3990)-r*cos(q);
plot(X3,Y3,'
b'
);
%绘制实际轮廓线
splinetool(x3,y3);
%调出插值窗口对话框
%pause;
%clear;
运行结果:
说明原实际轮廓线数据中存在不能直接插值的数据
将实际轮廓图曲线放大后,发现例如以下等几组不能直接用于插值的曲线区域。
若直接插值,返回错误:
ThevaluesofXshouldbedistinct.
处理方法:
需要插值的点仅在A、B两点,只需在此范围内插值即可
插值方法采用默认线性插值方法
第二步>
利用最大值函数求出O点坐标,线性插值分别求出A、B两点坐标,求得O、A两点的垂直高度差和O、B两点的水平距离
%清除工作空间中的变量
\MATLAB课程设计\angle%将数据文件装载入angle一维数组
%生成数组a1a2,分别存放两组角度数据
3990%循环赋值
%绘制出滚轮轴心径迹(未减去滚轮半径)
%生成数组用于储存实际轮廓线曲线
%绘制实际轮廓线曲线
[yo,i]=max(Y3);
%求Y3中的最大值yo和其位置i
%splinetool(x3,y3);
%调出插值窗口对话框,选择插值方法
xo=X3(i);
%求处O点坐标
plot(xo,yo,'
*r'
xa=xo+54;
xinterp=X3(1980:
3989);
%给定插值区间的数据
yinterp=Y3(1980:
ya=interp1(xinterp,yinterp,xa);
%xa处插入值的ya值,求出A点坐标
plot(xa,ya,'
*g'
h=yo-ya;
%AO两点的垂直距离
yb=ya+12;
%B点纵坐标
xinterp=X3(1500:
1800);
yinterp=Y3(1500:
xb=interp1(yinterp,xinterp,yb);
%yb处插入值的xb值,求出B点坐标
plot(xb,yb,'
s=abs(xo-xb);
%BO两点的水平距离
gridon;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%添加图形说明
title('
MATLAB课程设计'
xlabel('
X轴'
ylabel('
Y轴'
text(xo,yo,'
\leftarrowO点'
text(xa,ya,'
\leftarrowA点'
text(xb,yb,'
\leftarrowB点'
legend('
滚轮轴心径迹'
'
实际轮廓曲线'
gtext('
导数处理前'
FontSize'
9);
导数处理后'
holdoff;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
display(h)
display(s)
踏面外形的实际轮廓线(如上)
实际轮廓线上,距最高点O(x方向54mm距离处A)两点垂直高度差h=26.5679(mm)
实际轮廓线上,比A点高12mm曲线上的B点与O点的x方向距离s=20.9593(mm)
第三步>
验证A、B两点在实际轮廓线上可插值区域上所处的位置
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
i=X3(2:
622);
%第一段插值
j=Y3(2:
X=linspace(-80,60,10000);
Y=interp1(i,j,X,'
linear'
plot(X,Y,'
.k'
i=X3(631:
853);
%第二段插值
j=Y3(631:
X=linspace(-50,60,10000);
.y'
i=X3(855:
1400);
%第三段插值
j=Y3(855:
.g'
i=X3(1500:
%第四段插值
j=Y3(1500:
.m'
i=X3(1980:
%第五段插值
j=Y3(1980:
9'
【最终结果】:
程序源代码和运行结果见实验步骤中的<
。
(第一步是对插值方法的探讨;
第二步是对插值点位置的简单验证)
踏面外形的实际轮廓线见实验步骤中<
图;
实际轮廓线上,距最高点O(x方向54mm处A)两点垂直高度差h=26.5679(mm);
实际轮廓线上,比A点高12mm曲线上的B点与O点的x方向距离s=20.9593(mm)。
使用软件版本:
MatLabR2011a
(共10页)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南 交大 老师 MATLAB 设计 95