C语言实习报告蜗杆传动的优化设计.doc

上传人:laozhun 文档编号:2954647 上传时间:2023-03-05 格式:DOC 页数:10 大小:108.50KB
返回 下载 相关 举报
C语言实习报告蜗杆传动的优化设计.doc_第1页
第1页 / 共10页
C语言实习报告蜗杆传动的优化设计.doc_第2页
第2页 / 共10页
C语言实习报告蜗杆传动的优化设计.doc_第3页
第3页 / 共10页
C语言实习报告蜗杆传动的优化设计.doc_第4页
第4页 / 共10页
C语言实习报告蜗杆传动的优化设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C语言实习报告蜗杆传动的优化设计.doc》由会员分享,可在线阅读,更多相关《C语言实习报告蜗杆传动的优化设计.doc(10页珍藏版)》请在三一办公上搜索。

1、C语言实习报告 XXXXXX学院 XXXXXXX班 XXXXX 一、设计题目:蜗杆传动的优化设计 设计一普通圆柱蜗杆,已知参数:输入功率8.8;蜗杆转速;传动比;由电动机驱动,载荷平衡。蜗杆材料,表面硬度,蜗轮材料为,离心铸造,蜗杆减速器每日8h,全年按300个工作日计,要示工作寿命不低于10年。根据以上条件进行优化设计,通常在满足使用要求的前提下,以结构尺寸是否紧凑、传动效率是否较高作为评判设计优劣的指标,在此以传动中心别具匠心为目标函数式中:传动中心距;蜗杆轴向和蜗轮端面模数;蜗杆直径系数;蜗杆头数;蜗轮齿数;工程传动比;二、题目分析:由上式可知传动中心别具匠心与模数、蜗杆直径系数和蜗杆头

2、数有关。此三个参数可作为独立设计变量,即,与此相对应,目标函数可写为: 在进行蜗杆传动设计时,各参数应满足强度和刚度方面的要求,应用网格法可求解这一问题。网格法是约束直接优化方法中较为简单的一种方法,它的基本思想是将可行域分为许多网格,求出满足设计约束的网格点上的目标函数值,比较它们的大小,从中选择函数值最小的网格点。依次循环,直到网格之间的距离达到控制精度,即可得满足精度要求的近似最优解。三、算法步骤:网格法的算法步骤为:(1)给定目标函数初值(一个足够大的正数)、对应各设计变量的等分数和计算精度。(2)将区间进行等分,间距为,各分点坐标为,式中:,共有T个分点:(3)对T个分点按顺序逐一进

3、行可行性检查,放弃那些不满足设计约束的网格点,计算满足设计约束的网格点所对应的目标函数值,并与目标函数初值比较,若,则。否则,判别下一个网格点。(4)如果则停止计算,即为所求的最优点和最优值。否则取转向步骤(2)继续计算。四、流程图五、程序#includestdio.h /*预处理命令*/#includestdlib.h#includemath.h /*主函数*/main()double fun(double x3);int yesorno(int ng, double x3);double x3;double a3=2.0,7.0,2.0; /*定义网格区间上限*/double b3=8.0

4、,25.0,3.0; /*定义网格区间下限*/int n=3;int m3=12,24,10; /*定义网格区间的等分值*/double eps=0.1;double x03=0.2,0.3;double xmin3,fmin;double f0=10.0e5,f;double h3;double hmax;int i;int i0,i1,i2;int ng=10; /*参数约束条件个数*/dofor(i=0;in;i+)hi=(bi-ai)/mi; /*将区间ai,bi进行mi等分*/for(i2=0;i2=m2;i2+) /*网格法划分区间*/x2=a2+i2*h2;for (i1=0;i

5、1=m1;i1+)x1=a1+i1*h1;for(i0=0;i0=f0)continue;for(i=0;in;i+)x0i=xi;xmini=xi;f0=f; fmin=f;hmax=0.0; /*网格精度细化*/for(i=0;ihmax) hmax=hi; /*求最大间距hmax*/if(hmaxeps)for(i=0;ieps);printf(the results:n);for(i=0;in;i+)printf(x*=%10.5en,xmini);printf(f0=%10.5en,fmin);printf(hmax=%10.5en,hmax);return(0);int yesor

6、no(int ng, double x3)int i,yesorno=1;double zp,z1,z2,z3,z4,z5;double gx20;gx0=-x0+2.0;gx1=-8.0+x0; /*网格区间三维坐标的约束条件*/gx2=-25.0+x1; /*蜗杆轴向和蜗杆端面模数m的范围:2.0=m=8。0*/gx3=-x1+7.0; /*蜗杆直径系数q的范围:7.0=q=25.0*/gx4=-x2+2.0;gx5=-3.0+x2; /*蜗杆头数z1的范围:2.0=z1=3.0*/gx6=-atan(x2/x1)+10.0/180;gx7=-20.0/180.0+atan(x2/x1);

7、 /*蜗杆导程角计算约束*/z1=-0.8881*2.0*x1/(x1+18.0*x2);zp=4.02*exp(z1);z2=x0*(x1+18.0*x2);z3=pow(z2,3.0);z4=0.125*z3;gx8=252.0-170100.0*zp/sqrt(z4); /*蜗杆接触强度校合计算*/z5=x1+1.0;gx9=146.0-745000.0/(pow(x0,3.0)*x2*(0.5+sqrt(z5); /*蜗杆弯曲强度校合*/for(i=0;i0.0)yesorno=0;break;printf(yesorno=%d,yesorno);return( yesorno);do

8、uble fun(double x20)double f;f=0.5*x0*(x1+18*x2);return(f);六、实习心得:为期两周的计算机强化训练即将结束了,在这两个星期的实习当中我感受颇多。从一开始对C语言的一无所知到逐渐初步掌握了一些C语言的语法知识以及操作方法,这个学习的过程让我觉得很充实,很有意义。C语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力。C语言兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性。C语言是写给电脑看的语言,电脑只懂二进制,所以我们就必须掌握二进制与八进制、十进制、十六进制的转换关系。其次,我们必须记住C语言的关键字,且C语言有许多常用字符,它们和ASCII代码一一对应。再次,C语言有许多运算符,它们的结合方向不一样,且有各自的优先级。我们要掌握C语言,那么掌握它们就是基础。C语言是一种高级语言,是所有语言的基础,学好C语言,将对我们今后的语言课程的学习有很大帮助。 我认为这次的计算机强化训练对我们以后工作,学习都有很大的帮助,使我们受益匪浅。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号