官术网_书友最值得收藏!

第2章 常用分析軟件介紹

本章將對機械、控制、液壓等不同領域常用的幾種商用分析軟件進行簡單介紹,這幾種典型分析軟件也是本書后續章節需要用到的。本書所有實例均可以在MATLAB 2007a、ADAMS 2005、RecurDyn 6.3、AMESim 7A、iSIGHT 9.0以上版本軟件調試通過。

2.1 MATLAB軟件介紹

2.1.1 MATLAB的發展歷程和影響

在20世紀70年代后期,時任美國新墨西哥大學計算機科學系主任的Cleve Moler教授為了減輕學生的編程負擔,為學生設計了一組調用LINPACK和EISPACK庫程序的“通俗易用”的接口,此即用Fortran編寫的萌芽狀態的MATLAB。MATLAB名字由MATrix和LABoratory兩詞的前三個字母組合而成。

經過幾年的校際流傳,在Little的推動下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市場。此后,MATLAB的內核采用C語言編寫,還新增了數據圖視功能。

MATLAB以軟件形式出現后,僅短短幾年,就以其良好的開放性和運行的可靠性,使原先控制領域里的封閉式軟件包(如英國的UMIST,瑞典的LUND和SIMNON,德國的KEDDC)紛紛淘汰。在時間進入20世紀90年代的時候,MATLAB已經成為國際控制界認可的標準計算軟件。

20世紀90年代初期,在國際上30多個數學類科技應用軟件中,MATLAB在數值計算方面獨占鰲頭,而Mathematica和Maple則分居符號計算軟件的前兩名。

MathWorks公司于1993年推出了適用于Windows操作系統的MATLAB 4.0版本,4.x版在繼承和發展其原有的數值計算和圖形可視能力的同時,開發了一些新的工具包。

(1)推出了Simulink。這是一個交互式操作的動態系統建模、仿真、分析集成環境。它提供了圖形化的求解各種數學模型的工具。

(2)開發了能夠與外部進行直接數據交換的組件,使MATLAB具有進行實時數據分析、處理和硬件開發的能力。

(3)推出了符號計算工具包。1993年,MathWorks公司從加拿大滑鐵盧大學購得Maple的使用權,以Maple為“引擎”開發了Symbolic Math Toolbox 1.0。

1997年春,MATLAB 5.0版問世,與4.x相比,現今的MATLAB擁有更豐富的數據類型和結構、更友好的面向對象開發工具箱。從2006年開始MATLAB改為每年的上下半年出兩個版本,即MATLAB 2006a和MATLAB 2006b。

在國際學術界和大學,MATLAB都得到了廣泛的應用,在大學教科書中,如應用代數、數理統計、自動控制、數字信號處理、模擬與數字通信等課程的教科書都把MATLAB作為學習內容,可以說MATLAB已經成為工科專業碩士生、博士生必須掌握的基本工具。

在眾多工業部門和設計研究單位,MATLAB被認為是進行開發研究的首選軟件工具。如美國National Instruments公司信號測量、分析軟件LabVIEW,Cadence公司信號和通信分析設計軟件SPW等,或者利用MATLAB進行二次開發,或者以MATLAB為主要支撐。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各種硬卡、儀器等都支持MATLAB的直接應用。

2.1.2 MATLAB/Simulink功能簡介

MATLAB是一種用于算法開發、數據可視化、數據分析及數值計算的高級技術計算語言和交互式環境,使用MATLAB,可以比使用傳統的編程語言(如C、C++和Fortran)更快地解決工程計算問題。

MATLAB是MATLAB產品家族的基礎,它提供了基本的數學算法,例如,矩陣運算、數值分析算法,MATLAB集成了二維和三維圖形功能,以完成相應數值可視化的工作,并且提供了一種交互式的高級編程語言——M語言,利用M語言可以通過編寫腳本或者函數文件實現用戶自己的算法。MATLAB Compiler是一種編譯工具,它能夠將那些M語言編寫的函數文件編譯生成為函數庫、可執行文件COM組件等。這樣就可以擴展MATLAB的功能,使MATLAB能夠同其他高級編程語言(如C/C++語言)進行混合應用,取長補短,以提高程序的運行效率,豐富程序開發的手段。利用M語言還開發了相應的MATLAB專業工具箱函數供用戶直接使用,這些工具箱應用的算法是開放的、可擴展的,用戶不僅可以查看其中的算法,還可以針對一些算法進行修改,甚至允許開發自己的算法擴充工具箱的功能。目前,MATLAB產品的工具箱有40多個,分別涵蓋了數據獲取、科學計算、控制系統設計與分析、數字信號處理、數字圖像處理、金融財務分析以及生物遺傳工程等專業領域。

MATLAB的應用范圍非常廣,包括信號和圖像處理、通信、控制系統設計、測試和測量、財務建模和分析,以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB函數集)擴展了MATLAB環境,以解決這些應用領域內特定類型的問題。

目前,MATLAB產品族可以用來進行以下工作:

(1)數值分析;

(2)數值和符號計算;

(3)工程與科學繪圖;

(4)控制系統的設計;

(5)數字圖像處理;

(6)數字信號處理;

(7)通信系統設計與仿真;

(8)財務與金融工程。

Simulink是MATLAB最重要的組件之一,它提供一個動態系統建模、仿真和綜合分析的集成環境,2.1.4節將單獨介紹。

2.1.3 MATLAB功能特點

1.數學運算功能強大

MATLAB可用于線性代數中的所有向量、矩陣相關運算,數值分析中的線性和非線性方程組求解,常微分方程組和偏微分方程組的數值計算等。MATLAB數值運算的每個元素都可看做復數,運算包括加、減、乘、除、函數運算等;通過MATLAB的符號工具箱,可以解決在數學、應用科學和工程計算領域中常遇到的符號計算問題,因此幾乎所有的工程領域都可以看到MATLAB的應用。

,做矩陣乘法 c=ab,若采用其他高級語言實現,則需要調用子程序,或編寫煩瑣的多重循環來實現,在MATLAB中則直接輸入

        a=[12;34];
        b=[123;456];
        c=ab

短短簡明的三條語句就可以計算出結果。

2.編程效率高

MATLAB語言規則與書寫數學公式相似,命令表達方式與標準的數學表達式非常相近。MATLAB既有基本的庫函數,又有大量針對各專業應用的工具箱,使MATLAB適用于不同領域。這些庫函數和工具箱都可以直接調用,因而使用非常方便,甚至許多專用工具箱都已做成交互式的界面,更加方便用戶的使用。

MATLAB的Notebook為用戶提供了強大的文字處理功能,允許用戶從Word訪問MATLAB的數值計算和可視化結果。

如系統傳遞函數為,求階躍響應(圖2.1)。在MATLAB中輸入以下語句,立即可以求出結果

        num=[1 2]
        den=[1 2 3]
        G=tf(num,den)
        step(G)

圖2.1 階躍響應

3.強大的聯機幫助功能

當用戶有了明確的問題定義,要想在MATLAB中找到相應的解決方法非常容易,只要在幫助中搜索相應問題關鍵字,就可以找到相關內容。MATLAB的幫助不僅僅提供解決方法的簡明扼要的理論知識,還會有簡單的使用例題讓使用者模仿操作,進一步還有各學科領域、各種工具的DEMO,這是一般軟件無法比擬的。

2.1.4 Simulink簡介及特點

Simulink是MathWorks公司隨MATLAB一道發行的功能非常強大的動態系統建模和仿真通用軟件包,該軟件為用戶的建模和仿真過程提供了完善、靈活的可視化設計和調試環境,并且包含豐富的基本功能模塊庫和眾多專業領域的工具箱。

Simulink提供了一個建立動態系統模型方塊圖的圖形用戶接口(GUI),這個創建過程只要單擊和拖動鼠標操作就能完成,特別對于復雜系統建模更快捷,而且用戶可以立即看到系統的仿真結果,并且Simulink還提供了虛擬現實工具箱,如圖2.2所示,用戶可以采用數學模型直接驅動幾何模型,進行所需的各種動畫演示,使仿真更形象、逼真。

Simulink可以處理的系統包括線性、非線性系統;離散、連續及混合系統;單任務、多任務離散事件系統。

Simulink模塊庫按功能可以分為以下8類子庫:

(1)Continuous(連續模塊)。

(2)Discrete(離散模塊)。

(3)Function & Tables(函數和平臺模塊)。

(4)Math(數學模塊)。

(5)Nonlinear(非線性模塊)。

(6)Signals & Systems(信號和系統模塊)。

(7)Sinks(接收器模塊)。

(8)Sources(信號源模塊)。

圖2.2 Simulink模型驅動的虛擬現實工具箱

Simulink的主要特點有如下三點。

1)交互式的圖形編輯器用于組合和管理直觀的模塊圖

用戶只需要知道系統原理的數學方程就可以搭建系統仿真模型,無須編程,有成熟高效的求解算法庫,直接從中選擇合適的求解算法即可。

如微分方程 ′y=ty|t=0=0,若采用數值方法編程求解,則需編寫或調用求解微分方程的數值算法,但在Simulink中只需要建立以下模型,就可以得到形象的輸出,如圖2.3所示。

圖2.3 模型及解

2)提供API用于與其他仿真程序的連接或與手寫代碼集成

支持M語言和C語言方式的功能模塊擴展,提供了S函數模塊,該模塊可以采用Fortran、C或C++語言或M語言編寫,S函數使Simulink建模方式更靈活,具有更強的復雜系統建模功能,可以生成實時仿真代碼,直接用于半實物仿真。

3)豐富的可擴充的預定義模塊庫

Simulink具有開放式結構,用戶可以自定義模塊庫,擁有自己的圖標,同時Simulink還具有功能強大的各種工具箱,如神經網絡,模糊數學,控制系統開發,圖像處理等。

主站蜘蛛池模板: 离岛区| 福州市| 顺义区| 花垣县| 江北区| 如皋市| 若尔盖县| 纳雍县| 惠来县| 海林市| 海口市| 宁都县| 日喀则市| 通山县| 科尔| 博白县| 临城县| 舞钢市| 高阳县| 海盐县| 勐海县| 鹤山市| 玉屏| 宁明县| 金平| 吉林市| 南漳县| 临武县| 巴楚县| 根河市| 庆云县| 益阳市| 黔江区| 揭阳市| 泰来县| 东辽县| 宝鸡市| 贡山| 赫章县| 山阳县| 株洲市|