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