C語言實訓報告 網格法

2022-10-01 13:48:04 字數 2477 閱讀 7124

c語言實訓報告

學院: 機械工程學院

班級: 機制1005

學號: 1005040510

姓名: 董浪

一、 設計題目:基於網格法的蝸桿傳動優化設計。

蝸桿與渦輪可用來傳遞空間兩交錯軸間的運動和動力。由於其具有傳動比大且結構緊湊等優點,在各類機械裝置的傳動系統中應用廣泛。

設計一普通圓柱蝸桿,已知引數:輸入功率;蝸桿轉速;傳動比;由電動機驅動,載荷平衡。蝸桿材料,表面硬度,蝸輪材料為,離心鑄造,蝸桿減速器每日8h,全年按300個工作日計,要示工作壽命不低於10年。

根據以上條件進行優化設計,通常在滿足使用要求的前提下,以結構尺寸是否緊湊、傳動效率是否較高作為評判設計優劣的指標,在此以傳動中心別具匠心為目標函式:

式中:——傳動中心距;

——蝸桿軸向和蝸輪端麵模數;

——蝸桿直徑係數;

——蝸桿頭數;

——蝸輪齒數;

——工程傳動比;

分析:由上式可知傳動中心別具匠心與模數、蝸桿直徑係數和蝸桿頭數有關。此三個引數可作為獨立設計變數,即,與此相對應,目標函式可寫為:

在進行蝸桿傳動設計時,各引數應滿足強度和剛度方面的要求,應用網格法可求解這一問題。網格法是約束直接優化方法中較為簡單的一種方法,它的基本思想是將可行域分為許多網格,求出滿足設計約束的網格點上的目標函式值,比較它們的大小,從中選擇函式值最小的網格點。依次迴圈,直到網格之間的距離達到控制精度,即可得滿足精度要求的近似最優解。

網格法的演算法步驟為:

(1)給定目標函式初值(乙個足夠大的正數)、對應各設計變數的等分數和計算精度。

(2)將區間進行等分,間距為,各分點座標為,式中: 共有t個分點:

(3)對t個分點按順序逐一進行可行性檢查,放棄那些不滿足設計約束的網格點,計算滿足設計約束的網格點所對應的目標函式值,並與目標函式初值比較,若,則。否則,判別下乙個網格點。

(4)如果則停止計算,即為所求的最優點和最優值。否則取

轉向步驟(2)繼續計算。

二.流程圖

三 .源程式

#include"預處理命令*/

#include""

#include"" /*主函式*/

main()

; /*定義網格區間上限*/

double b[20]=; /*定義網格區間下限*/

int n=3;

int m[20]=; /*定義網格區間的等分值*/

double eps=0.1;

double x0[20]=;

double xmin[20],fmin;

double f0=10.0e5,f;

double h[20];

double hmax;

int i;

int i0,i1,i2;

int ng=10; /*引數約束條件個數*/

dof0=f; fmin=f;

}}}hmax=0.0網格精度細化*/

for(i=0;iif(h[i]>hmax) hmax=h[i]; /*求最大間距hmax*/

if(hmax>eps)

f0=10.0e4;}}

while(hmax>eps);

printf("the results:\n");

for(i=0;iprintf("x[%d]=%10.5e\n",i,xmin[i]);

printf("f0=%10.5e\n",fmin);

printf("hmax=%10.5e\n",hmax);

return(0);

}int yesorno(int ng, double x[20])

return( yesorno);

}double fun(double x[20])

{double f;

f=0.5*x[0]*(x[1]+18*x[2]);

return(f);

四、結果分析

程式執行結果是:

模數m=5.82289

蝸桿直徑係數q=11.5007

蝸桿頭數=2.22689

中心距a=150.186

=7.803×mm

6.校核

查機械設計手冊,選擇標準尺寸:

a/min: 160

i: 18

m /mm: 6.3

d1 /mm: 80

z1: 2

z2: 36

x2: -0.1

γ: 8°57′06"

①普通圓柱蝸桿傳動的基本引數及其匹配(摘自gb 10085-1988 neq din3976-1980)標準傳動比。

蝸輪齒面接觸強度校核:

根據表面材料查表:

根據接觸係數:

載荷平穩,使用係數: =1.00

傳動比:i=18

轉矩查圖表,傳動效率

轉速不變,轉速係數

壽命係數

接觸疲勞強度的最小安全係數,取

校核合格。

C語言實訓報告

程式清單 include include include int a 錄入的人數 int j 新增的人數 int pxh 按學號排序 int cj 按成績排序 int cxh 按學號查詢 int nam 按姓名查詢 struct student struct student stu 排序時用到的中間...

C語言實訓報告

hunan university 程式設計訓練 報告 學生姓名黃文倩 學生學號201435010117 專業班級計科1402 指導老師尹庚 2015 年 9 月 6 日 目錄題1 字母排列 id 1013 2 一 問題描述 2 二 問題分析 2 三 演算法分析 2 四 詳細設計 從演算法到程式 2 ...

C語言實訓心得

在本學期學習c語言將近乙個學期後,我們進行了c語言實訓,做了乙個比較複雜 功能較全的學籍管理系統。雖然實訓為期不長,但對我c語言水平的提高和對c的認識理解有很大幫助。在這次實訓中,我對c語言有了乙個更深的了解認識,也使我這個學期學的知識得到了鞏固。雖然在實訓中遇到了許多的困難,比方說一開始在檔案方面...