• 沒有找到結果。

第一章

N/A
N/A
Protected

Academic year: 2022

Share "第一章"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

第一章

MATLAB 小傳與外觀

本 章 重 點

本章介紹 MATLAB 與 MathWorks 公司的背景與歷

史,並說明 MATLAB 第五版和第六版的外觀。

(2)

1-1 MATLAB 小傳

MATLAB 是由 MathWorks 公司於 1984 年推出的數學軟體,其名稱是 由「矩陣實驗室」(MATrix LABoratory)所合成,因此可知其最早的 發展理念是提供一套非常完善的矩陣運算指令,但隨著數值運算需求 的演變,MATLAB 已成為各種系統模擬、數位訊號處理、科學目視的 標準語言。

MATLAB 雖然在 1984 年首次推出商用版,但其前身早在 1978 年即已 現身,其作者是當於任教於新墨西哥大學的 Cleve Moler 教授,不過 當時的 MATLAB 是免費的,Cleve Moler 教授使用他來使學生更容易 瞭解線性代數及各種數值方法與矩陣理

論。事實上,MATLAB 的許多的核心計 算 技 術 是 源 自 於 LINPACK 及 EISPACK,這是兩個美國國科會計畫所 發展的數值運算軟體,當時 Cleve Moler 教 授 也 是 計 畫 主 持 人 之 一 , 因 此 MATLAB 的數值計算能力,可說是經過 了超過 20 年的千錘百鍊,並不是一般數 學軟體可以望其項背的。(註:MATLAB 第六版採用了另一套數學程式庫,稱為

「PAPACK」。)Cleve Moler 現在不但 是該公司的首席科學家,而且以 60 歲的

高齡,還常常親自進行撰寫程式之工作,這是令筆者最為佩服的地 方,也是促使筆者不斷親自開發各項程式之原動力 。如果您有數值運 算方面的高水準問題,寄到 MathWorks 後,大部份還是會由 Cleve Moler 親自回答。(各位是否記得在 1994 年,Pentium 晶片曾發生 Fdiv 的 bug?當時 Cleve Moler 是第一個以軟體解決此 bug 的人,曾一時膾 炙人口。)

雖然 Cleve Moler 是 MATLAB 的原作者,但是第一個將 MATLAB 商 品化的人並不是他,而是 Jack Little。Jack Little 在 Stanford 大學主修 控制,當時即接觸到 MATLAB,直覺告訴他,這是一個潛力很大的軟 體。因此他在畢業後沒多久,即決定將 MATLAB 以 C 語言重寫 (原

(3)

先 Cleve Moler 教授是以 Fortran 寫的), 並於 1984 年成立 MathWorks 公司,首 次推出 MATLAB 商用版。在公司草創 的五年,Jack Little 非常辛苦,常常身兼 數職(董事長、總經理、行銷、業務、

收發兼工友),但公司一直穩定成長,

從當初的一人公司,到 1993 年的 200 人,到現在(2000 年)的 500 餘人, 不 但打敗其他競爭軟體,而且前景一片欣 欣向榮。根據 Jack Little 個人現身說法,

MATLAB 早期成功的兩大因素是:選用 了 C 語言及選定 PC 為主要平台, 這似 乎和微軟的成功有相互呼應之妙。

MathWorks 雖然已是超過 500 人的大公司,但至今仍然是私人企業,

並未上市,這和 Jack Little 個人理念有關,他覺得 MATLAB 的設計方 向一直是以顧客的需求與軟體的完整性為首要目標 ,而不是以獲利為 主,因此 MATLAB 一直是在穩定中求進步,而不會因為上市而遭受 股東左右發展方向。(這也是為什麼 MATLAB 新版本總是姍姍來遲,

因為他們不會因為市場的需求而推出不成熟的產品。)此外,由於 Jack Little 保守的個性,也使得 MathWorks 不曾跨足 MATLAB/Simulink 以 外的事業,當前商場上紛紛擾擾的購併或分家,MathWorks 完全是絕 緣體。

筆者有幸於 1993 ~ 1995 年任職於 MathWorks 公司,深覺此公司的成 功並非倖致。公司本身非常具有活力,夏天有全公司總動員的 Summer outing,冬天則有室內的 Sports party,每個星期有一天稱為 Tuesday(不 見得是星期二),是大夥兒下班後一起到 Pub 喝酒放鬆的日子(帳單 當然是由公司負責)。平常彈性時間上班,公司內還有免費的高級果 汁及軟性飲料,晚上若不想回家,晚餐(大部份是 Bertucci's pizza)

也由公司招待。在技術應用方面,MathWorks 深諳 Internet 的使用之 道,不但很早就在 Newsgroup 上進行對使用者的技術指導,在 WWW 興起之後,也很早 就提供各 項技術支 援與搜尋 功能,並 在內聯 網

(Intranet)方面,以 Web 與資料庫的整合來進行軟體 bug 的管理、追 蹤與修復。MathWorks 對網路與 WWW 技術的善用,連其他專書與雜 誌都曾予以專題介紹。

(4)

MATLAB 早 期 以 矩 陣 運 算 為 主 , 但 隨 著 科 學 目 視 ( Scientific Visualization)的需求日增,於是在 MATLAB 第 4 版推出握把式圖形

(Handle Graphics),這是一個里程碑,自此之後,所有的 Demos 都 包含和善親切的圖形使用者介面。另一個里程碑則是在 MATLAB 第 5 版,他允許使用者建立許多不同的資料型態,(如多維陣列、結構陣 列、異質陣列等),而不再只是侷限於二維的矩陣而已。

MATLAB 是一個計算核心,圍繞著這個計算核心,有許多針對不同應 用所開發的應用程式,稱為工具箱(Toolboxes),這些工具箱的列表 可詳見附錄一。MathWorks 本身所提供的工具箱大概有 40 多個,另外 還有其他公司或研究單位所提供的工具箱,這些工具箱的總數已有上 百個之多,而且新的工具箱還在持續增加之中。因此如果您有特別的 應用領域,您應該上網搜尋是否有相關的工具箱,很可能已經有人將 您所要的應用程式寫成一個工具箱了!

除 了 MATLAB 之 外 , MathWorks 還 有 兩 項 主 要 相 關 產 品 , 即 是 Simulink 及 Stateflow。Simulink 專用於連續或離散時間的動態系統模 擬,Stateflow 則用於模擬有限狀態機(Finite State Machines)或事件 驅動系統(Event-driven Systems)。Simulink 是一個模擬核心,圍繞 著這個核心所開發的應用程式稱為方塊集(Blocksets)。這些產品的 關係可用下圖表示:

MATLAB B

Toolboxes Compiler

Simulink k

Stateflow

Blocksets RTW

Coder

(5)

由 MATLAB→Simulink→Stateflow 的發展過程來看,MathWorks 的大 方向已由 純粹的數 值運算慢 慢轉向至 計算模擬 與硬體實 現的整 合

(Integration)與快速原形化(Rapid Prototyping)。尤其是現有 Simulink 與 Stateflow 的 C 程式碼自動產生功能,以及將來的定點運算方塊集

(Fixed-point Blockset)與 C 程式碼至 VHDL 的自動轉換功能,可以 預見在不遠的將來,由高階的系統模擬至低階的晶片演算法設計,都 可用 MATLAB/Simulink/Stateflow 及相關的工具箱來達成。

1-2 MATLAB 第五版的外觀

本節說明 MATLAB 第五版的外觀,若您使用的是 MATLAB 第六版,

則可直節跳讀下一節。本節的說明,都以 MATLAB 5.3版,即 Release11 為主。

一旦安裝 MATLAB第五版後, MATLAB 的圖示( )即出 現在您的桌面,您可以以滑鼠點選兩次以啟動 MATLAB 。您也可以 在『開始』的主選單下,選取『程式集/ Matlab / MATLAB 5.3』來啟 動 MATLAB。此外,如果您喜歡從 DOS 命令視窗下達指令(像我一 樣),您就可以於 DOS 視窗輸入下列命令來啟動 MATLAB:

{MATLAB 根目錄}\bin\matlab

( 其 中 「 {MATLAB 根 目 錄 } 」 需 代 換 成 MATLAB 的 根 目 錄 , 對 MATLAB 5.3版而言,其根目錄是「C:\MATLABR11」。)上述這三 種方法都可以開啟 MATLAB 的命令視窗,其外觀如下:

(6)

您可以在 MATLAB 命令視窗下輸入「version」,以取得版本資訊。

本書所依據的版本是至少必須是 MATLAB 第五版,如果您還在用第 四版,就表示該升級了。

在 MATLAB 命令視窗上,有標準的下拉式選單(Pull-down Menu),

如 File,Edit,View,Window,Help 等,其中較重要的是 File/Preference 下的圖形介面,其外觀如下:

下拉式選單 工具列

(7)

使用上述的介面,您可以設定個人的喜好值,例如 MATLAB 顯示數 值的方式、檔案編輯器、線上支援的目錄、命令視窗的字體大小與背 景顏色、拷貝圖形的選項等。

此外在 MATLAB 命令視窗上還有 MATLAB 工具列,其中有三個直接

和 MATLAB 操作相關的圖示,分別是 (工作空間瀏覽器,Workspace

Browser)、 (路徑瀏覽器,Path Browser)、 (Simulink 方塊庫

瀏覽器,Simulink Block Library Browser),以及 (線上支援視窗,

Help Window),分別說明如下:

1. 工作空間瀏覽器:

MATLAB 用來儲存變數的空間,稱為工作空間(Workspace),

工作空間瀏覽器可用於瀏覽位於工作空間中的變數,包含其名 稱、資料形態、維度大小、佔用位元大小等,其外觀如下:

2. 路徑瀏覽器 :

MATLAB 在執行每一個指令時,會根據一個搜尋路徑(Search Path)來找尋指令的位置。路徑瀏覽器的功能即是以視窗面的 方式來對搜尋路徑進行新增、刪除或修改等功能,其外觀如 下:

(8)

3. Simulink 方塊庫瀏覽器:

Simulink 是 以 方 塊 圖 為 基 礎 的 動 態 模 擬 系 統 , 他 並 不 是 MATLAB 的一部份,而是架於 MATLAB 之上的另一個產品。

因此如果您沒有安裝 Simulink ,您的 MATLAB 就不會出現此 圖示。Simulink 方塊庫瀏覽器可以顯示可用的 Simulink 內建方 塊圖,其外觀如下:

(9)

4. 線上支援視窗:

點選此圖示,可開啟 MATLAB 的線上支援視窗,此視窗將 MATLAB 所有的指令分門別類,您可以一路點選所要的類別或 指令,直到得到所需的線上支援。線上支援視窗的外觀如下:

1-3 MATLAB 第六版的外觀

MATLAB 本節說明 MATLAB 第六版的外觀,所依據的版本是 6.0 (R12) Beta 3。

MATLAB 第六版的啟動方法和第五版相同,讀者可參閱前一節的說 明。啟動後,可產生預設的 MATLAB 桌面(MATLAB Desktop),其 外觀如下:

(10)

在上圖中,MATLAB 桌面被分割成兩個小視窗,左邊是「命令歷史 列」(List of Command History),右邊則是「命令視窗」(Command Window),此命令視窗即為 MATLAB 第五版(或更早以前)的主視 窗。

事實上,MATLAB 第六版的桌面還包含很多其他視窗,這些視窗可由

「View」的下拉式選單來開啟或關閉,摘要如下:

l View/Command Window: 開啟或關閉「命令視窗」。

l View/Command History: 開啟或關閉「命令歷史列」。

l View/MATLAB Browser: 開啟或關閉「MATLAB 瀏覽器」。

l View/Help Browser: 開啟或關閉「線上支援瀏覽器」。

l View/File Brower: 開啟或關閉「檔案瀏覽器」。

l View/Workspace Browser: 開啟或關閉「工作空間瀏覽器」。

若同時開啟這些視窗,MATLAB 桌面會顯得擁擠不堪,其外觀如下:

(11)

此時您可以關閉不重要的視窗,或者直接點選視窗並向外拖放,讓視 窗獨立於 MATLAB 桌布之外。若您已被太多的視窗搞的暈頭轉向,

可點選「View/Restore Default Configuration」,一切就可恢復原狀。

由於這些視窗的功能和第五版相距不遠,在此我們不針對每個視窗一 一說明。

參考文獻

相關文件

美國 iRobot 公司出品的 Roomba 吸塵器機器人 Mitsubishi 公司出品的 Wakamaru 家用機器人等等. ¾

工業革命能在英國首先發端有許多原因。其中出現的股份有限公司型態,請問首先 使用於鐵路業還是銀行業?2.

SSL 協定是 Secure Sockets Layer Protocol 的簡稱,由網 景(Netscape)公司於 1994 年提出,是一種網際網路上最普遍

New General Studies (2 nd Edition) / New General Studies (3 rd Edition) (P.1-P.6 Teaching Resources). Waived Items Charge Teacher’s Book

New General Studies (2 nd Edition) / New General Studies (3 rd Edition) (P.1-P.6 Teaching Resources). Waived Items Charge Teacher’s Book

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

「幾何教學公設」之一;它最早在 1960 年代由美國 SMSG 提出,後來由伍鴻熙教授予以推