欢迎来到天天文库
浏览记录
ID:56796166
大小:143.00 KB
页数:12页
时间:2020-07-12
《c语言强化设计程序报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计报告学院:机械工程学院班级:×××××姓名:×××××学号:××××基于网格法的蜗杆传动优化设计一.设计题目:基于网格法的蜗杆传动优化设计。蜗杆与涡轮可用来传递空间两交错轴间的运动和动力。由于其具有传动比大且结构紧凑等优点,在各类机械设备的传动系统中应用广泛。设计一普通圆柱蜗杆,已知参数:输入功率;蜗杆转速;传动比;由电动机驱动,载荷平衡。蜗杆材料,表面硬度,蜗轮材料为,离心铸造,蜗杆减速器每日8h,全年按300个工作日计,要示工作寿命不低于10年。根据以上条件进行优化设计,通常在满足使用要求的前提下,以结构尺寸是否紧凑、传动效率是否较高作为评判设计优劣的指标,在此以传动中心别具
2、匠心为目标函数:式中:——传动中心距;——蜗杆轴向和蜗轮端面模数;——蜗杆直径系数; ——蜗杆头数; ——蜗轮齿数; ——工程传动比;分析:由上式可知传动中心别具匠心与模数、蜗杆直径系数和蜗杆头数有关。此三个参数可作为独立设计变量,即,与此相对应,目标函数可写为:在进行蜗杆传动设计时,各参数应满足强度和刚度方面的要求,应用网格法可求解这一问题。网格法是约束直接优化方法中较为简单的一种方法,它的基本思想是将可行域分为许多网格,求出满足设计约束的网格点上的目标函数值,比较它们的大小,从中选择函数值最小的网格点。依次循环,直到网格之间的距离达到控制精度,即可得满足精度要求的近似最优解。网
3、格法的算法步骤为:(1)给定目标函数初值(一个足够大的正数)、对应各设计变量的等分数和计算精度。(2)将区间进行等分,间距为,各分点坐标为,式中:共有T个分点:(3)对T个分点按顺序逐一进行可行性检查,放弃那些不满足设计约束的网格点,计算满足设计约束的网格点所对应的目标函数值,并与目标函数初值比较,若,则。否则,判别下一个网格点。(4)如果则停止计算,即为所求的最优点和最优值。否则取 转向步骤(2)继续计算。二.流程图i04、++i=foyesorno=0rno=0i0++三.源程序#include#include#includemain(){doublefun(doublex[20]);intyesorno(int5、ng,doublex[20]);doublex[20];doublea[20]={2.0,7.0,2.0};doubleb[20]={8.0,25,0,3,0};intn=3;intm[20]={3,6,5};doubleeps=0.1;doublex0[20]={0.2,0.3};doublexmin[20],fmin;doublef0=10.0e5,f;doubleh[20];doublehmax;inti;inti0,i1,i2;intng=10;labl:for(i=0;i6、=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)gotolab3;f=fun(x);if(f>=f0)gotolab3;for(i=0;ihmax)hmax=h[i];if(hmax>eps){for(i=0;i7、{a[i]=xmin[i]-h[i];b[i]=xmin[i]+h[i];}f0=10.0e4;gotolabl;}printf("theresults:");for(i=0;i
4、++i=foyesorno=0rno=0i0++三.源程序#include#include#includemain(){doublefun(doublex[20]);intyesorno(int
5、ng,doublex[20]);doublex[20];doublea[20]={2.0,7.0,2.0};doubleb[20]={8.0,25,0,3,0};intn=3;intm[20]={3,6,5};doubleeps=0.1;doublex0[20]={0.2,0.3};doublexmin[20],fmin;doublef0=10.0e5,f;doubleh[20];doublehmax;inti;inti0,i1,i2;intng=10;labl:for(i=0;i6、=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)gotolab3;f=fun(x);if(f>=f0)gotolab3;for(i=0;ihmax)hmax=h[i];if(hmax>eps){for(i=0;i7、{a[i]=xmin[i]-h[i];b[i]=xmin[i]+h[i];}f0=10.0e4;gotolabl;}printf("theresults:");for(i=0;i
6、=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)gotolab3;f=fun(x);if(f>=f0)gotolab3;for(i=0;ihmax)hmax=h[i];if(hmax>eps){for(i=0;i7、{a[i]=xmin[i]-h[i];b[i]=xmin[i]+h[i];}f0=10.0e4;gotolabl;}printf("theresults:");for(i=0;i
7、{a[i]=xmin[i]-h[i];b[i]=xmin[i]+h[i];}f0=10.0e4;gotolabl;}printf("theresults:");for(i=0;i
此文档下载收益归作者所有