MATLAB簡介

作者: 天行健([@])  來源: 博客園  發布時間: 2010-10-28 16:03  閱讀: 2284 次  推薦: 0   原文鏈接   [收藏]  
摘要:簡明介紹了MATLAB的概括和大致的功能

  1. MATLAB的概況

  MATLAB是矩陣實驗室(Matrix Laboratory)之意。除具備卓越的數值計算能力外,它還提供了專業水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。MATLAB的基本數據單位是矩陣,它的指令表達式與數學,工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完相同的事情簡捷得多.

  當前流行的MATLAB 5.3/Simulink 3.0包括擁有數百個內部函數的主包和三十幾種工具包(Toolbox).工具包又可以分為功能性工具包和學科工具包.功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能.學科工具包是專業性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類.

  開放性使MATLAB廣受用戶歡迎.除內部函數外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構造新的專用工具包.

  2. MATLAB產生的歷史背景

  在70年代中期,Cleve Moler博士和其同事在美國國家科學基金的資助下開發了調用EISPACK和LINPACK的FORTRAN子程序庫.EISPACK是特征值求解的FOETRAN程序庫,LINPACK是解線性方程的程序庫.在當時,這兩個程序庫代表矩陣運算的最高水平.

  到70年代后期,身為美國New Mexico大學計算機系系主任的Cleve Moler,在給學生講授線性代數課程時,想教學生使用EISPACK和LINPACK程序庫,但他發現學生用FORTRAN編寫接口程序很費時間,于是他開始自己動手,利用業余時間為學生編寫EISPACK和LINPACK的接口程序.Cleve Moler給這個接口程序取名為MATLAB,該名為矩陣(matrix)和實驗室(labotatory)兩個英文單詞的前三個字母的組合.在以后的數年里,MATLAB在多所大學里作為教學輔助軟件使用,并作為面向大眾的免費軟件廣為流傳.

  1983年春天,Cleve Moler到Standford大學講學,MATLAB深深地吸引了工程師John Little.John Little敏銳地覺察到MATLAB在工程領域的廣闊前景.同年,他和Cleve Moler,Steve Bangert一起,用C語言開發了第二代專業版.這一代的MATLAB語言同時具備了數值計算和數據圖示化的功能.

  1984年,Cleve Moler和John Little成立了Math Works公司,正式把MATLAB推向市場,并繼續進行MATLAB的研究和開發.

  在當今30多個數學類科技應用軟件中,就軟件數學處理的原始內核而言,可分為兩大類.一類是數值計算型軟件,如MATLAB,Xmath,Gauss等,這類軟件長于數值計算,對處理大批數據效率高;另一類是數學分析型軟件,Mathematica,Maple等,這類軟件以符號計算見長,能給出解析解和任意精確解,其缺點是處理大量數據時效率較低.MathWorks公司順應多功能需求之潮流,在其卓越數值計算和圖示能力的基礎上,又率先在專業水平上開拓了其符號計算,文字處理,可視化建模和實時控制能力,開發了適合多學科,多部門要求的新一代科技應用軟件MATLAB.經過多年的國際競爭,MATLAB以經占據了數值軟件市場的主導地位.

  在MATLAB進入市場前,國際上的許多軟件包都是直接以FORTRANC語言等編程語言開發的。這種軟件的缺點是使用面窄,接口簡陋,程序結構不開放以及沒有標準的基庫,很難適應各學科的最新發展,因而很難推廣。MATLAB的出現,為各國科學家開發學科軟件提供了新的基礎。在MATLAB問世不久的80年代中期,原先控制領域里的一些軟件包紛紛被淘汰或在MATLAB上重建。

  MathWorks公司1993年推出了MATLAB 4.0版,1995年推出4.2C版(for win3.X)1997年推出5.0版。1999年推出5.3版。MATLAB 5.X較MATLAB 4.X無論是界面還是內容都有長足的進展,其幫助信息采用超文本格式和PDF格式,在Netscape 3.0或IE 4.0及以上版本,Acrobat Reader中可以方便地瀏覽。

  時至今日,經過MathWorks公司的不斷完善,MATLAB已經發展成為適合多學科,多種工作平臺的功能強大大型軟件。在國外,MATLAB已經經受了多年考驗。在歐美等高校,MATLAB已經成為線性代數,自動控制理論,數理統計,數字信號處理,時間序列分析,動態系統仿真等高級課程的基本教學工具;成為攻讀學位的大學生,碩士生,博士生必須掌握的基本技能。在設計研究單位和工業部門,MATLAB被廣泛用于科學研究和解決各種具體問題。在國內,特別是工程界,MATLAB一定會盛行起來。可以說,無論你從事工程方面的哪個學科,都能在MATLAB里找到合適的功能。

  3.MATLAB的語言特點

  一種語言之所以能如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點,正如同FORTRAN和C等高級語言使人們擺脫了需要直接對計算機硬件資源進行操作一樣,被稱作為第四代計算機語言的MATLAB,利用其豐富的函數資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB最突出的特點就是簡潔。MATLAB用更直觀的,符合人們思維習慣的代碼,代替了C和       FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀,最簡潔的程序開發環境。以下簡單介紹一下MATLAB的主要特點。

  1)語言簡潔緊湊,使用方便靈活,庫函數極其豐富。MATLAB程序書寫形式自由,利用起豐富的庫函數避開繁雜的子程序編程任務,壓縮了一切不必要的編程工作。由于庫函數都由本領域的專家編寫,用戶不必擔心函數的可靠性。可以說,用MATLAB進行科技開發是站在專家的肩膀上。
  具有FORTRAN和C等高級語言知識的讀者可能已經注意到,如果用FORTRAN或C語言去編寫程序,尤其當涉及矩陣運算和畫圖時,編程會很麻煩。例如,如果用戶想求解一個線性代數方程,就得編寫一個程序塊讀入數據,然后再使用一種求解線性方程的算法(例如追趕法)編寫一個程序塊來求解方程,最后再輸出計算結果。在求解過程中,最麻煩的要算第二部分。解線性方程的麻煩在于要對矩陣的元素作循環,選擇穩定的算法以及代碼的調試動不容易。即使有部分源代碼,用戶也會感到麻煩,且不能保證運算的穩定性。解線性方程的程序用FORTRAN和C這樣的高級語言編寫,至少需要四百多行,調試這種幾百行的計算程序可以說很困難。以下用MATLAB編寫以上兩個小程序的具體過程。

  MATLAB求解下列方程,并求解矩陣A的特征值。

  Ax=b,其中:

  A= 32    13    45    67

     23    79    85    12

     43    23    54    65

     98    34    71    35

  b=   1

       2

       3

       4

  解為:x=A\b;設A的特征值組成的向量e,e=eig(A)。可見,MATLAB的程序極其簡短。更為難能可貴的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB會根據矩陣的特性選擇方程的求解方法,所以用戶根本不用懷疑MATLAB的準確性。

  2)運算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運算符,靈活使用MATLAB的運算符將使程序變得極為簡短。

  3)MATLAB既具有結構化的控制語句(如for循環,while循環,break語句和if語句),又有面向對象編程的特性。

  4)程序限制不嚴格,程序設計自由度大。例如,在MATLAB里,用戶無需對矩陣預定義就可使用。

  5)程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統上運行。

  6)MATLAB的圖形功能強大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數據的可視化非常簡單。MATLAB還具有較強的編輯圖形界面的能力。

  7)MATLAB的缺點是,它和其他高級程序相比,程序的執行速度較慢。由于MATLAB的程序不用編譯等預處理,也不生成可執行文件,程序為解釋執行,所以速度較慢。

  8)功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。核心部分中有數百個核心內部函數。其工具箱又分為兩類:功能性工具箱和學科性工具箱。功能性工具箱主要用來擴充其符號計算功能,圖示建模仿真功能,文字處理功能以及與硬件實時交互功能。功能性工具箱用于多種學科。而學科性工具箱是專業性比較強的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等。這些工具箱都是由該領域內學術水平很高的專家編寫的,所以用戶無需編寫自己學科范圍內的基礎程序,而直接進行高,精,尖的研究。

  9)源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點。除內部函數以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構成新的工具箱。

0
0
 
標簽:MATLAB 簡介
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()