MATLAB大作业

发布 2020-02-25 08:56:28 阅读 3993

偏置直动滚子推杆盘形凸轮机构设计。

推程运动规律: 余弦加速度运动

回程运动规律: 正弦加速度运动。

凸轮机构的推杆在近休,推程,远休及回程段的凸轮转角。

偏置直动滚子推杆盘形凸轮机构已知参数。

推杆运动规律。

1)推程。运动规律:余弦加速度运动。

推程运动方程式:s =h[1 - cos(πδ0)]/2,v= πhωsin(πδ0)/(2δ0),a= π2hω2cos(πδ0)/(2δ02)

2)回程。运动规律:正弦加速度运动。

回程运动方程式:

s = h [1-(δ0’)+sin(2πδ/0’)/2π)

v = hω [cos(2πδ/0’-1)]/0’

a = 2πhω2sin(2πδ/0’)/0’2)

滚子中心坐标:

x=(s+s0)sinδ+ecosδ

y=(s+s0)cosδ-ecosδ

其中。实际轮廓曲线坐标:

其中。计算压力角:

计算曲率半径:

计算程序。符号的表示含义:

r0 初选基圆半径。

x 理论轮廓曲线的x坐标y 理论轮廓曲线的y坐标。

x 实际轮廓曲线的x坐标y 实际轮廓曲线的x坐标。

p 曲率半径s 推杆位移。

rr 滚子半径a 压力角。

paamin 许用最小曲率半径pamin 实际曲率半径的最小值。

a1max 回程前压力角的最大值a2max 回程后压力角的最大值。

e 偏距h 推杆行程。

a1 推程许用压力角a2 回程程许用压力角。

dar0 每次修正r0所加的长度 n 计算点数。

k1 近休角k2 推程角。

k3 远休角k4 回程角。

kamin 实际曲率半径最小值所对应的角度。

k1max 回程前压力角的最大值所对应的角度。

k2max 回程后压力角的最大值所对应的角度。

子程序1计算最大压力角:

function [amax,kmax]=yalijiao1(a,n1,b)

amax=0;kmax=0;

amax=max(a);

for i=1:n1

if a(i)==amax

kmax=i*b;

endend

end子程序2

计算最小曲率半径:

function [pamin,kamin]=qulv(p,b,n)

pamin=0;kamin=0;

for i=1:n-1

p(i)=abs(p(i));

endpamin=min(p);

for i=1:n-1

pamin=min(p)

if p(i)==pamin

kamin=i*b;

endend

end子程序3

计算回程前的压力角及修正r0:

function [a,r0]=haha(r0,rr,e,h,a1,dar0,n,k1,k2,k3,k4)

n1=(k1+k2)/360*n;

eta=pi/180;%化为弧度。

while(1)

s0=(r0^2-e^2)^(1/2);

syms k s dk ds d2k d2s

n1=k1/360*n;

k11=linspace(0,k1,n1);

s1=k11./k11.*0;

x1=e.*cos(k11.*pi/180)+(s0+s1).*sin(k11.*pi/180);

y1=(s0+s1).*cos(k11.*pi/180)-e.*sin(k11.*pi/180);

n2=k2/360*n;

k22=linspace(k1,k1+k2,n2);

s2=(h/2).*1-cos(pi.*(k22-k1)/k2));

x2=e.*cos(k22.*pi/180)+(s0+s2).*sin(k22.*pi/180);

y2=(s0+s2).*cos(k22.*pi/180)-e.*sin(k22.*pi/180);

x=[x1,x2];

y=[y1,y2];

k=[k11,k22];

s=[s1,s2];

dx=diff(x)./diff(k);

dk=k(1:end-1);

dy=diff(y)./diff(k);

dk=k(1:end-1);

ds=diff(s)./diff(k);

dk=k(1:end-1);

ds(n1)=0;

for i=1:n1

f(i)=(ds(i)-e)/(sqrt(r0^2-e^2)+s(i));

a(i)=atan(f(i));计算a压力角。

a(i)=abs(a(i))/eta;

if a(i)>a1

r0=r0+dar0;

break;

end end

if i==n1

break;

end end

end子程序4

计算回程后的压力角及修正r0:

function [a,r0]=hahaha(r0,rr,e,h,a2,dar0,n,k1,k2,k3,k4)

n2=(k3+k4)/360*n;

b=360/n;

eta=pi/180;%化为弧度。

while(1)

s0=(r0^2-e^2)^(1/2);

syms k s dk ds d2k d2s

n3=k3/360*n;

k33=linspace(k1+k2,k1+k2+k3,n3);

s3=k33./k33.*h;

x3=e*cos(k33*pi/180)+(s0+h).*sin(k33*pi/180);

y3=(s0+h).*cos(k33*pi/180)-e*sin(k33*pi/180);

n4=k4/360*n;

k44=linspace(k1+k2+k3,k1+k2+k3+k4,n4+1);

s4=h.*(1-(k44-k1-k2-k3)./k4+sin(2*pi.*(k44-k1-k2-k3)./k4)/(2*pi));

x4=e.*cos(k44*pi/180)+(s0+s4).*sin(k44*pi/180);

y4=(s0+s4).*cos(k44*pi/180)-e*sin(k44*pi/180);

x=[x3,x4];

y=[y3,y4];

k=[k33,k44];

s=[s3,s4];

dx=diff(x)./diff(k);

dk=k(1:end-1);

dy=diff(y)./diff(k);

dk=k(1:end-1);

ds=diff(s)./diff(k);

dk=k(1:end-1);

ds(n2)=0;

for i=1:n2

f(i)=(ds(i)-e)/(sqrt(r0^2-e^2)+s(i));

a(i)=atan(f(i));计算a压力角。

a(i)=abs(a(i))/eta;

if a(i)>a2

r0=r0+dar0;

break;

end end

if i==n2

break;

end end

end子程序5

计算曲率半径,并修正r0,计算理论轮廓曲线坐标和实际轮廓曲线的坐标及曲率半径,拖杆位移:

function [x,y,x,y,p,s,r0]=qulvvv(r0,rr,e,h,paamin,dar0,n,k1,k2,k3,k4)

eta=pi/180;%化为弧度。

i=1;while(1)

s0=(r0^2-e^2)^(1/2);

syms k s dk ds d2k d2s

n1=k1/360*n;

k11=linspace(0,k1,n1);

s1=k11./k11.*0;

x1=e.*cos(k11.*pi/180)+(s0+s1).*sin(k11.*pi/180);

y1=(s0+s1).*cos(k11.*pi/180)-e.*sin(k11.*pi/180);

n2=k2/360*n;

matlab大作业

matlab语言及应用。周一晚作业廖育州07010559 第一组程序。绘制选用潍柴发动机wd615.50时汽车行驶性能曲线图,ft ua图clear,clc 清除内存变量,清屏 n为发动机的转速。n 1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,...

MATLAB大作业

实验七图像的形态 算。一 实验目的。1.掌握图像的奇异值分解与合成。2.能够利用模板操作实现图像的腐蚀运算3.能够利用模板操作实现图像的膨胀运算4.掌握图像的开 闭运算。二 实验内容。1.读下面的程序,分析该程序要完成什么样的功能。a 1 2 1 2 3 2 1 2 1 u d v svd a nx...

MATLAB大作业

1.设计一个程序,要求用户用键盘输入10次,输入内容可以是数字 英文 汉字 或者其他文字或者符号。如果输入的是数字,则把存入一个数字数组当中 如果输入的是英文的字符,则存入一个英文字符数组当中 如果是其他字符,则存入一个字符串数组中。当10次内容都输入完毕后,先输出英文数组中的内容,然后输出字符串数...