《機械優化設計》大作業

2022-10-11 02:36:04 字數 3856 閱讀 1799

合肥工業大學

《機械優化設計》課程實踐

研究報告

一、研究報告內容:

1、λ=0.618的證明、一維搜尋程式作業;

2、單位矩陣程式作業;

3、連桿機構問題 + 自行選擇小型機械設計問題或其他工程優化問題;

(1)分析優化物件,根據設計問題的要求,選擇設計變數,確立約束條件,建立目標函式,建立優化設計的數學模型並編制問題程式;

(2)選擇適當的優化方法,簡述方法原理,進行優化計算;

(3)進行結果分析,並加以說明。

4、寫出課程實踐心得體會,附列程式文字。

5、為響應學校2023年度教學工作會議的改革要求,探索新的課程考核評價方法,特探索性設立一開放式考核專案,佔總成績的5%。

試用您自己認為合適的方式(書面)表達您在本門課程學習方面的努力、進步與收穫。(考評將重點關注您的獨創性、簡潔性與可驗證性)。

二、研究報告要求

1、報告命名規則:學號-姓名-《機械優化設計》課程實踐報告.doc

2、報告提交郵址:

追求:問題的工程性,格式的完美性,報告的完整性。

不追求:問題的複雜性,方法的惟一性。

評判準則:獨一是好,先交為好;切勿拷貝。

目錄:λ=0.618的證明、一維搜尋程式作業

1 關於的證明4

2 一維搜尋的作業

採用matlab進行程式設計5

採用c語言進行程式設計7

單位矩陣程式作業

1 採用matlab的程式設計9

2 採用c語言進行程式設計9

機械優化工程例項

1 連桿機構11

2 自選機構16

課程實踐心得20

附列程式文字21

進步,努力,建議25

一、λ=0.618的證明、一維搜尋程式作業

①關於的證明

**分割法要求插入點,的位置相對於區間兩端具有對稱性,即

其中為待定常數。

此外,**分割法還要求在保留下來的區間內再插入一點所形成的區間新三段,與原來的區間三段具有相同的比例分布。

**分割法還要求在保留下來的區間內再插一點所形成的區間新三段,與原來的區間三段有相同的比例分布。

設原區間的長度為1,如圖一所示,保留下來的區間長度為,區間縮短率為。為了保持相同的分別比例。插入新點應在位置上,在原區間的1位置應相當於在保留區間的位置。

故有:解得

編寫0.618的程式,並計算下列問題

(1)採用matlab進行程式設計

%%%**分割法求極值點

%輸入資料

% a –搜尋區間下限

% b –搜尋區間上限

% e – 精度

%輸出資料:

% x – 極小值點

%其他常量:

% c1,c2,c3 – 區間

% r –**分割比例0.618

%%%定義函式

function x=fun(a,b,e)

r=0.618;

c1=b-r*(b-a);c2=a+r*(b-a);

y1=f(c1);y2=f(c2);

while (abs((b-a)/b)>e)&&(abs((y2-y1)/y2)>e)

if y1>=y2

a=c1;c1=c2;y1=y2;

c2=a+r*(b-a);y2=f(c2);

else

b=c2;c2=c1;y2=y1;

c1=b-r*(b-a);y1=f(c1);

endendx=0.5*(a+b);

end對f函式的確立

10 function y=f(x)

y=(x-2)^2+3;

end11 function y=f(x)

y=cosx

end如果要計算y=(x-2)^2+3;的**分割法,則需要將圖所示的f指令碼中的函式寫成如①所示

如果要計算y=cosx;**分割法,則需要將圖所示的f指令碼中的函式寫成如②所示

fun函式表示對matlab的主程式語言。

函式no.2運算結果:

函式no.1運算結果:

(2)採用c語言進行程式設計

#include <>

#define k 0.618

double f(double函式值計算函式宣告*****/

void main(void)

printf(「所求極小值點為:x=%lf\t極小值f(x)=%f\n」,a,f(b));

}double f(double x函式值計算函式*****/

對於y=cosx,須在程式中加乙個#include(頭程式,以示我要呼叫函式語句。再將倒數第三行函式改為y=cos(x),再次編譯運算即可。

執行如圖所示

我們可以看出,大約在x=2處取到極值。與理論相符。

執行如圖所示

我們可以看出,大約在π處取到極值。與理論相符。

二、用簡單的語句寫乙個單位矩陣

①採用matlab構造:

matlab構造的矩陣最是簡便,因為本身就有乙個單位矩陣的函式。

由於matlab是基於c語言而設立的乙個數**用軟體,所以他的整合度非常高,而且具有很好的開放性,於是我們得知eye函式,將其構造。

eg:若要構造乙個3維的單位矩陣,則輸入eye(3)

若要構造乙個n為的單位矩陣,這輸入eye(n)

②用c語言構造

程式如圖所示:

#include <>

int main()

}return 0;

}三、機械優化設計工程例項

① 連桿機構問題

(1)連桿機構問題描述

圖 1 機構簡圖

設計一曲柄連桿搖桿機構,要求曲柄從時,搖桿的轉角最佳再現已知的運動規律:且=1, =5,為極位角,其傳動角允許在範圍內變化。

(2)數學模型的建立

設計變數:這裡有兩個獨立引數和。因此設計變數為

目標函式:將輸入角分成30等分,並用近似公式計算,可得目標函式的表示式

約束條件:

gx(1)=-x(1) 0

gx(2)=-x(2) 0

gx(3)=-(x(1)+x(2))+6.00

gx(4)=-(x(2)+4.0)+x(1) 0

gx(5)=-(4.0+x(1))+x(2) 0

gx(6)=-(1.4142*x(1)*x(2)-x(1)**2-x(2)**2)-16.00

gx(7)=-(x(1)**2+x(2)**2+1.4142*x(1)*x(2))+36.00

(3)程式編制

c subroutine ffx(n,x,fx)

c dimension x(n)

忽略mon /one/i1,i2,i3,i4,nfx,i6

nfx=nfx+1

p0=acos(((1.0+x(1))**2-x(2)**2+25.0)/(10.0*(1.0+x(1))))

q0=acos(((1.0+x(1))**2-x(2)**2-25.0)/(10.0*x(2)))

t=90.0*3.1415926/(180.0*30.0)

fx=0.0

do 10 k=0,30

pi=p0+k*t

qe=q0+2.0*(pi-p0)**2/(3.0*3.1415926)

d=sqrt(26.0-10.0*cos(pi))

al=acos((d*d+x(2)*x(2)-x(1)*x(1))/(2.0*d*x(2)))

bt=acos((d*d+24.0)/(10.0*d))

if( .and. then

qi=3.1415926-al-bt

else

qi=3.1415926-al+bt

end if

if( .or.

fx=fx+(qi-qe)**2*t

機械優化設計大作業

題目 一塊長方形的鐵皮,長10分公尺,寬7分公尺。如果在每一角裁掉同樣大小的正方形,那麼正方形的邊長為多大時,剩下的鐵皮摺起來的無蓋箱體容積最小?忽略剪裁和焊接時的損失而且不能為0 要求 用某種優化方法解決,並限定精度為0.01.解 一 分析和列出優化數學模型 1.分析 要使容積最大,須有v 長 寬...

機械原理大作業

機械原理課程設計 計算說明書 設計題目 平面搓絲機構執行機構 綜合與傳動裝置 本設計為機械原理基礎課程設計的內容,是先後學習過畫法幾何 大學物理 材料力學 理論力學 機械原理等課程的背景之下進行的一次綜合性的練習和應用。本設計說明書是對搓絲機傳動裝置設計計算的說明,搓絲機是專業生產螺絲的機器,使用廣...

哈工大機械設計大作業方案

harbin institute of technology 機械設計大作業 說明書設計題目 軸系部件設計 院系 材料科學與工程學院 班級設計者 學號指導教師 張峰 設計時間 2015.12.19 目錄目錄 1 任務書 1 1 選擇軸的材料 2 2初算軸徑 2 3 結構設計 2 4軸的受力分析 5 ...