欢迎来到天天文库
浏览记录
ID:58487278
大小:108.50 KB
页数:10页
时间:2020-05-16
《C语言实习报告-蜗杆传动的优化设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言实习报告XXXXXX学院XXXXXXX班XXXXX一、设计题目:蜗杆传动的优化设计设计一普通圆柱蜗杆,已知参数:输入功率=8.8;蜗杆转速;传动比;由电动机驱动,载荷平衡。蜗杆材料,表面硬度,蜗轮材料为,离心铸造,蜗杆减速器每日8h,全年按300个工作日计,要示工作寿命不低于10年。根据以上条件进行优化设计,通常在满足使用要求的前提下,以结构尺寸是否紧凑、传动效率是否较高作为评判设计优劣的指标,在此以传动中心别具匠心为目标函数式中:——传动中心距;——蜗杆轴向和蜗轮端面模数;——蜗杆直径系数; ——蜗杆头数; ——蜗轮齿数; ——工程传动比;二、题目分析:由上式可知传
2、动中心别具匠心与模数、蜗杆直径系数和蜗杆头数有关。此三个参数可作为独立设计变量,即,与此相对应,目标函数可写为:在进行蜗杆传动设计时,各参数应满足强度和刚度方面的要求,应用网格法可求解这一问题。网格法是约束直接优化方法中较为简单的一种方法,它的基本思想是将可行域分为许多网格,求出满足设计约束的网格点上的目标函数值,比较它们的大小,从中选择函数值最小的网格点。依次循环,直到网格之间的距离达到控制精度,即可得满足精度要求的近似最优解。三、算法步骤:网格法的算法步骤为:(1)给定目标函数初值(一个足够大的正数)、对应各设计变量的等分数和计算精度。(2)将区间进行等分,间距为,各分点坐标为,式
3、中: ,共有T个分点:(3)对T个分点按顺序逐一进行可行性检查,放弃那些不满足设计约束的网格点,计算满足设计约束的网格点所对应的目标函数值,并与目标函数初值比较,若,则。否则,判别下一个网格点。(4)如果则停止计算,即为所求的最优点和最优值。否则取 转向步骤(2)继续计算。四、流程图五、程序#include"stdio.h"/*预处理命令*/#include"stdlib.h"#include"math.h"/*主函数*/main(){doublefun(doublex[3]);intyesorno(intng,doublex[3]);doublex[3];doublea[3]
4、={2.0,7.0,2.0};/*定义网格区间上限*/doubleb[3]={8.0,25.0,3.0};/*定义网格区间下限*/intn=3;intm[3]={12,24,10};/*定义网格区间的等分值*/doubleeps=0.1;doublex0[3]={0.2,0.3};doublexmin[3],fmin;doublef0=10.0e5,f;doubleh[3];doublehmax;inti;inti0,i1,i2;intng=10;/*参数约束条件个数*/do{for(i=0;i5、分*/for(i2=0;i2<=m[2];i2++)/*网格法划分区间*/{x[2]=a[2]+i2*h[2];for(i1=0;i1<=m[1];i1++){x[1]=a[1]+i1*h[1];for(i0=0;i0<=m[0];i0++){x[0]=a[0]+i0*h[0];if(yesorno(ng,x)==0)/*判断刚度与强度约束判断*/continue;f=fun(x);if(f>=f0)continue;for(i=0;i6、hmax)hmax=h[i];/*求最大间距hmax*/if(hmax>eps){for(i=0;ieps);printf("theresults:");for(i=0;i7、blex[3]){inti,yesorno=1;doublezp,z1,z2,z3,z4,z5;doublegx[20];gx[0]=-x[0]+2.0;gx[1]=-8.0+x[0];/*网格区间三维坐标的约束条件*/gx[2]=-25.0+x[1];/*蜗杆轴向和蜗杆端面模数m的范围:2.0<=m<=8。0*/gx[3]=-x[1]+7.0;/*蜗杆直径系数q的范围:7.0<=q<=25.0*/gx[4]=-x[2]+2.0;gx[5]=-
5、分*/for(i2=0;i2<=m[2];i2++)/*网格法划分区间*/{x[2]=a[2]+i2*h[2];for(i1=0;i1<=m[1];i1++){x[1]=a[1]+i1*h[1];for(i0=0;i0<=m[0];i0++){x[0]=a[0]+i0*h[0];if(yesorno(ng,x)==0)/*判断刚度与强度约束判断*/continue;f=fun(x);if(f>=f0)continue;for(i=0;i6、hmax)hmax=h[i];/*求最大间距hmax*/if(hmax>eps){for(i=0;ieps);printf("theresults:");for(i=0;i7、blex[3]){inti,yesorno=1;doublezp,z1,z2,z3,z4,z5;doublegx[20];gx[0]=-x[0]+2.0;gx[1]=-8.0+x[0];/*网格区间三维坐标的约束条件*/gx[2]=-25.0+x[1];/*蜗杆轴向和蜗杆端面模数m的范围:2.0<=m<=8。0*/gx[3]=-x[1]+7.0;/*蜗杆直径系数q的范围:7.0<=q<=25.0*/gx[4]=-x[2]+2.0;gx[5]=-
6、hmax)hmax=h[i];/*求最大间距hmax*/if(hmax>eps){for(i=0;ieps);printf("theresults:");for(i=0;i7、blex[3]){inti,yesorno=1;doublezp,z1,z2,z3,z4,z5;doublegx[20];gx[0]=-x[0]+2.0;gx[1]=-8.0+x[0];/*网格区间三维坐标的约束条件*/gx[2]=-25.0+x[1];/*蜗杆轴向和蜗杆端面模数m的范围:2.0<=m<=8。0*/gx[3]=-x[1]+7.0;/*蜗杆直径系数q的范围:7.0<=q<=25.0*/gx[4]=-x[2]+2.0;gx[5]=-
7、blex[3]){inti,yesorno=1;doublezp,z1,z2,z3,z4,z5;doublegx[20];gx[0]=-x[0]+2.0;gx[1]=-8.0+x[0];/*网格区间三维坐标的约束条件*/gx[2]=-25.0+x[1];/*蜗杆轴向和蜗杆端面模数m的范围:2.0<=m<=8。0*/gx[3]=-x[1]+7.0;/*蜗杆直径系数q的范围:7.0<=q<=25.0*/gx[4]=-x[2]+2.0;gx[5]=-
此文档下载收益归作者所有