云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 西南交大杨凯老师MATLAB设计(95分)

西南交大杨凯老师MATLAB设计(95分)

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 8:20:42

若直接插值,返回错误:The values of X should be distinct. 处理方法:

需要插值的点仅在A、B两点,只需在此范围内插值即可 插值方法采用默认线性插值方法

<第二步>:利用最大值函数求出O点坐标,线性插值分别求出A、B两点坐标,求得O、A两点的垂直高度差和O、B两点的水平距离 程序源代码:

clear; %清除工作空间中的变量

load F:\\MATLAB课程设计\\angle %将数据文件装载入angle一维数组 a1=1:3990;a2=1:3990; %生成数组a1 a2,分别存放两组角度数据 for i=1:3990 %循环赋值 a1(i)=angle(i);

a2(i)=angle(i+3990); end

L1=60;L2=72; r=8.5;

x1=0;y1=0;

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'); %绘制出滚轮轴心径迹(未减去滚轮半径) hold on;

X3=2:3990;Y3=2:3990; %生成数组用于储存实际轮廓线曲线 dy=1:3990;dx=1:3990;p=1:3990;q=1:3990; 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);

5

plot(X3,Y3,'b'); %绘制实际轮廓线曲线 [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:3989); %给定插值区间的数据 ya=interp1(xinterp,yinterp,xa);%xa处插入值的ya值,求出A点坐标 plot(xa,ya,'*g');

h=yo-ya; %A O 两点的垂直距离 yb=ya+12; %B点纵坐标 xinterp=X3(1500:1800); %给定插值区间的数据 yinterp=Y3(1500:1800); %给定插值区间的数据 xb=interp1(yinterp,xinterp,yb);%yb处插入值的xb值,求出B点坐标 plot(xb,yb,'*g');

s=abs(xo-xb); %B O两点的水平距离 grid on;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%添加图形说明title('MATLAB课程设计'); xlabel('X轴'); ylabel('Y轴');

text(xo,yo,'\\leftarrow O点'); text(xa,ya,'\\leftarrow A点'); text(xb,yb,'\\leftarrow B点');

legend('滚轮轴心径迹','实际轮廓曲线'); gtext('导数处理前','FontSize',9); gtext('导数处理后','FontSize',9); hold off;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% display(h) display(s) 运行结果:

6

踏面外形的实际轮廓线(如上)

实际轮廓线上,距最高点O(x方向54mm距离处A)两点垂直高度差h=26.5679(mm) 实际轮廓线上,比A点高12mm曲线上的B点与O点的x方向距离s=20.9593(mm)

<第三步>:验证A、B两点在实际轮廓线上可插值区域上所处的位置 程序源代码:

7

clear;%清除工作空间

load F:\\MATLAB课程设计\\angle%将此数据文件装载入angle一维数组中 a1=1:3990;a2=1:3990;%生成两个数组,分别存放两组角度数据 for i=1:3990%循环赋值 a1(i)=angle(i);

a2(i)=angle(i+3990); end

L1=60;L2=72; r=8.5;

x1=0;y1=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')%绘制出滚轮轴心径迹(未减去滚轮半径) hold on;

X3=2:3990;Y3=2:3990;%-12.4184生成数组用于储存实际轮廓线曲线 dy=1:3990;dx=1:3990;p=1:3990;q=1:3990; 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);%调出插值窗口对话框 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%

i=X3(2:622);%第一段插值 j=Y3(2:622);

X=linspace(-80,60,10000); Y=interp1(i,j,X,'linear'); plot(X,Y,'.k');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%

i=X3(631:853);%第二段插值 j=Y3(631:853);

X=linspace(-50,60,10000); Y=interp1(i,j,X,'linear'); plot(X,Y,'.y');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%

i=X3(855:1400);%第三段插值 j=Y3(855:1400);

X=linspace(-50,60,10000); Y=interp1(i,j,X,'linear');

8

搜索更多关于: 西南交大杨凯老师MATLAB设计(95分) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

若直接插值,返回错误:The values of X should be distinct. 处理方法: 需要插值的点仅在A、B两点,只需在此范围内插值即可 插值方法采用默认线性插值方法 :利用最大值函数求出O点坐标,线性插值分别求出A、B两点坐标,求得O、A两点的垂直高度差和O、B两点的水平距离 程序源代码: clear; %清除工作空间中的变量 load F:\\MATLAB课程设计\\angle %将数据文件装载入angle一维数组 a1=1:3990;a2=1:3990; %生成数组a1 a2,分别存放两组角度数据 for i=1:3990

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com