文/李淵 杜秋月 張明慧
MATLAB 是matrix 和laboratory 的 組合,翻譯為矩陣工廠或矩陣實驗室,是由美國MathWorks 公司開發的面對科學計算、數據可視化、交互式程序設計的計算環境。MATLAB融合數值分析、數據可視化、矩陣計算、非線性動態系統建模、非線性動態系統仿真于一體,將上述功能集成在一個便于使用的視窗環境下。在現代科學研究、現代工程設計、圖像處理、信號處理、通信、金融等需要進行較多復雜有效數值計算的項目中應用廣泛,提供了一種更加全面的計算方案。MATLAB 的主要功能在于進行矩陣運算、實現算法、繪制數據、繪制函數、創建界面、連接程序等,其中MATLAB 的優化工具箱能夠為技術人員提供優化函數。MATLAB 優化工具箱時語法簡單、初始參數不復雜、編程量小,在機械優化設計中有著十分重要的作用。
MATLAB 摒棄了以往程序語言編輯模式,適用于解決復雜工程問題。MATLAB 基本數據單位為矩陣,指令表達式與工程、數學等常用形式相似,應用MATLAB 解決數學問題、工程問題也較為簡捷。MATLAB 結合了Maple 等軟件的優點,支持C 語言、JAVA 語言、C++語言、FORTRAN 等,表現出更加強大的功能。高效的數值計算與高效的符號計算功能,使MATLAB 更適用于繁雜的數學運算;完善的圖形處理功能,使MATLAB 能夠實現對計算結果的編程與數據可視化;接近數學表達式的自然化語言使MATLAB 的使用者更容易學習和掌握各類軟件功能;功能豐富的信號處理工具箱、優化工具箱、通信工具箱等為使用者提供了方便、實用的處理工具。
MATLAB 優化工具箱,即Optimization Toolbox,包含眾多的優化算法,能夠求解不同的優化問題。所謂優化問題是基于變量滿足約束條件的前提,使目標函數最小化的問題。優化問題涉及優化目標-min f(X)、優化變量X=[x1,x2,x3]、約束條件h1(x)≤0h2(x)≤0h(x)≤0。使用MATLAB 處理優化問題,首先基于相應數學模型設定適宜優化目標,隨后輸入優化變量參數(初值,約束條件,取值范圍),借助MATLAB 優化工具箱,計算出優化結果。不同優化問題對應的數學模型及優化函數如表1所示。

表1:不同優化問題對應的數學模型及優化函數
使用MATLAB 優化工具箱進行機械優化設計需結合設計目標、設計要求、優化類型等對問題進行優化。在進行分類時可能存在單目標、多目標、線性、非線性等情況,在實際應用過程中需結合具體情況進行分析。在確定優化類型后構建相應數學模型,選擇適宜的優化函數,明確各項參數,結合目標函數形態,設定優化選項。在參數輸入、確定后,調整函數程序,依據提示信息對優化現象、相關設置等進行調整,確保符合機械優化設計的要求,確保獲得有效的設計方案與優化數據。以某人字形鋼架為例,該鋼架由兩根鋼管組成,具體參數如下:
鋼管材料密度(ρ)=7.8×103kg/m3
彈性模量(E)=2.1×105MPa
管壁厚度(T)=0.25cm
鋼架跨度=152m
外力=3×105N
優化問題x=[D,h]T
穩定性約束條件R(x)≤Re
強度約束條件R(x)≤Ry
根據上述參數,獲取設計變量、目標函數、約束條件,明確優化類型。該優化問題實際上是一個包含了6 個約束的二維非線性優化問題。數學模型為min f(x); s.t.Ax ≤b,MATLAB優化函數為x=fmincon(f,x0,A,b)。經標準化后,將函數表達式套入已知條件即可完成機械優化設計。
機械優化設計是以數學規劃作為理論基礎,將計算機作為工具,目的在于尋找最佳機械設計方案。MATLAB 優化工具箱中包含很多實用的優化函數,利用優化函數能夠解決很多復雜的機械優化設計問題,且編程操作簡單、易懂、編程量小。基于MATLAB 優化工具箱實現機械優化設計,能夠確保機械零件滿足性能要求,規避了傳統設計方法的繁雜、重復操作,求解便捷、程序簡明、結果可靠、精度較高。特別是在一些依靠人工難以處理的問題中,MATLAB 優化工具箱能夠有效取得優化設計算法的過程,是設計人員最有利的工具。