MATLAB與C語言的異同_第1頁
MATLAB與C語言的異同_第2頁
MATLAB與C語言的異同_第3頁
MATLAB與C語言的異同_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MATLAB與C語言的異同MATLAB 是一種科學(xué)計(jì)算軟件,也是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一,專門以矩陣的 形式處理數(shù)據(jù)。它以強(qiáng)大的科學(xué)計(jì)算和可視化功能,簡(jiǎn)單易用、開放式可擴(kuò)展環(huán)境,特別是 所附帶的三十多種面向不同領(lǐng)域的工具箱支持,使得它在許多科學(xué)領(lǐng)域成為計(jì)算機(jī)輔助設(shè)計(jì) 和分析、算法研究和應(yīng)用開發(fā)的基本工具和首選平臺(tái)。它作為一種計(jì)算工具和科技資源,可 以擴(kuò)大科學(xué)研究的范圍,提高工程生產(chǎn)的效率,縮短開發(fā)周期,加快探索步伐,激發(fā)創(chuàng)作靈 感。作為一種計(jì)算機(jī)語言,一種用于科學(xué)工程計(jì)算的高效率的高級(jí)語言,MATLAB具有其 他高級(jí)語言難以比擬的一些優(yōu)點(diǎn):編寫簡(jiǎn)單、編程效率高、易學(xué)易懂。與其他語言相比,M

2、ATLAB 的語法更簡(jiǎn)單,更貼近人的思維模式。因此, MATLAB 語言也被通俗地稱為“演算紙式” 的科學(xué)計(jì)算語言。在控制、通信、信號(hào)處理及科學(xué)計(jì)算等領(lǐng)域中, MATLAB 都被廣泛地應(yīng) 用,已經(jīng)被認(rèn)可為能夠有效提高工作效率、改善設(shè)計(jì)手段的工具軟件。而C語言是一種面向問題的程序設(shè)計(jì)語言,也是目前國(guó)際上流行的一種結(jié)構(gòu)化的程序 設(shè)計(jì)語言,語言處理程序采用的是編譯程序。它既有高級(jí)語言的特點(diǎn),又具有匯編語言 的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè) 計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,深受廣大程 序設(shè)計(jì)者的歡迎。在操作系統(tǒng)和系統(tǒng)使用程序以及

3、需要對(duì)硬件進(jìn)行操作的場(chǎng)合, 用 C 語言明顯優(yōu)于 其它解釋型高級(jí)語言,有一些大型應(yīng)用軟件也是用 C語言編寫的。C語言具有繪圖能 力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維 圖形和動(dòng)畫。同時(shí),它也是是數(shù)值計(jì)算的高級(jí)語言。C 語言具有如下特點(diǎn) :簡(jiǎn)潔緊湊、靈活方便C 語言一共只有 32 個(gè)關(guān)鍵字,9 種控制語句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來,C 語言可以象匯編語言一樣對(duì)位、字節(jié)和地址進(jìn)行操作 , 而這三者是計(jì)算機(jī)最基本的 工作單元。運(yùn)算符豐富C的運(yùn)算符包含的范圍很廣泛,共有種34個(gè)運(yùn)算符。C語言把括號(hào)、賦值

4、、 強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理, 從而使 C 的運(yùn)算類型極其豐富表達(dá)式類型多 樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。數(shù)據(jù)結(jié)構(gòu)豐富C 的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算。并引入了指針概念 ,使 程序效率更高。另外 C 語言具有強(qiáng)大的圖形功能 , 支持多種顯示器和驅(qū)動(dòng)器。且 計(jì)算功能、邏輯判斷功能強(qiáng)大。C 語言是結(jié)構(gòu)式語言結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化 ,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?, 便于使用、維護(hù)以 及調(diào)試。 C 語言是以函數(shù)

5、形式提供給用戶的 ,這些函數(shù)可方便的調(diào)用 ,并具有多種 循環(huán)、條件語句控制程序流向 ,從而使程序完全結(jié)構(gòu)化。C 語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大雖然 C 語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較 大的自由度。C 語言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作 因此既具有高級(jí)語言的功能, 又具有低級(jí)語言的許多功能, 能夠象匯編語言 一樣對(duì)位、字節(jié)和地址進(jìn)行操作 ,而這三者是計(jì)算機(jī)最基本的工作單元,可以用 來寫系統(tǒng)軟件。C 語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高一般只比匯編程序生成的目標(biāo)代碼效率低 1020%。C 語言適用范圍大,可移植性好C語言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種

6、操作系統(tǒng) ,如DOS、UNIX,也適用 于多種機(jī)型。雖然 MATLAB 與 C 語言都有編程的功能,但是二者在編程方面存在許多不同的 地方。數(shù)據(jù)類型MATLAB的數(shù)據(jù)類型有常量、變量、字符串、復(fù)數(shù)等,C語言則有常量、變量、 標(biāo)識(shí)符、整型數(shù)據(jù)、實(shí)型數(shù)據(jù)、字符型數(shù)據(jù)等。可見, C 語言的數(shù)據(jù)類型的劃分要比 MATLAB 的細(xì)致。而且,相同的數(shù)據(jù)類型在這兩種語言中的定義及用法也有所不同。在常量方面,值得一提的是,MATLAB中復(fù)數(shù)類型常量可以直接寫成手寫格式, 這是MATLAB與其他計(jì)算機(jī)語言的明顯不同之處。C語言的常量可以是任何基本類型 的值,就范圍而言,C語言的常量范圍要較MATLAB的大。在變

7、量方面,二者的變量名的規(guī)定有明顯不同。 MATLAB 的變量名必須是不包括 空格的單個(gè)詞,且區(qū)分大小寫。變量名的字符數(shù)也有限制,最多不超過31 個(gè)字符。變 量名必須以字母打頭,之后可以是任何字母、下劃線或者數(shù)字。另外,許多標(biāo)點(diǎn)符號(hào) 在MATLAB中有特殊含義,變量名不允許使用。此外,MATLAB中還有一些默認(rèn)的特殊變 量,它們有確定的形式和意義,使用時(shí)應(yīng)加以注意。女口: ans是用于結(jié)果的默認(rèn)變量名, pi 表示圓周率等。與之對(duì)比, C 語言的變量名的規(guī)定就比較統(tǒng)一、規(guī)范。其對(duì)不同的 數(shù)據(jù)類型有各自特定的變量名,如 int 代表整型變量,代表 float 單精度實(shí)型變量, double 則是雙

8、精度實(shí)型變量, char 是字符型變量的變量名。在字符串方面,MATLAB中的字符串是由單引號(hào)括起來的簡(jiǎn)單文本,一般是ASC II值的數(shù)值數(shù)組,以它作為字符串表達(dá)式進(jìn)行顯示。因?yàn)樽址菙?shù)值數(shù)組,所以它 們可以用MATLAB中所有可利用的數(shù)組操作工具進(jìn)行操作。而C語言中的字符串常量 是用一對(duì)雙引號(hào)括起來的字符序列,可以由任意多個(gè)字符組成。值得注意的是,為了 能在 C 語言中正確地處理字符串常量, C 語言規(guī)定:“在每一個(gè)字符串的結(jié)尾都加上一 個(gè)字符0,作為字符串的結(jié)束標(biāo)志。”這樣, C 語言中字符串在內(nèi)存中的字符個(gè)數(shù) 要比實(shí)際表達(dá)式中的字符數(shù)多 1個(gè)。在復(fù)數(shù)方面, MATLAB 最強(qiáng)大的功能之

9、一就體現(xiàn)在此,如前面所言, MATLAB 對(duì)復(fù)數(shù)不需做特殊處理,它的復(fù)數(shù)類型常量可以直接寫成手寫格式。MATLAB認(rèn)識(shí)復(fù) 數(shù),并用預(yù)定義變量和作為虛數(shù)單位,而且復(fù)數(shù)的數(shù)學(xué)運(yùn)算可以寫成與實(shí)數(shù)相同的形式。而對(duì)于C語言,它則無法做到,需要對(duì)復(fù)數(shù)進(jìn)行特殊處理。總的來說,C語言的數(shù)據(jù)類型劃分得比較細(xì)致,相比較而言,MATLAB就“粗糙” 一些,這與二者各自所具有的和側(cè)重的功能有關(guān)。 C 語言用于編制系統(tǒng)程序和其他應(yīng) 用程序,所要處理的量范圍多,數(shù)量廣,故而其對(duì)數(shù)據(jù)類型必須細(xì)致劃分。而MATLAB 用于編程時(shí)涉及到的主要是具體的工程方面的實(shí)際問題,接觸到的量的范圍相對(duì)小些, 因而就可以不必劃分得十分細(xì)致了

10、。表達(dá)式在 MATLAB 中,書寫表達(dá)式的規(guī)則和“手寫算式”幾乎完全相同。表達(dá)式由變量 名、運(yùn)算符和函數(shù)名組成,按照與常規(guī)相同的優(yōu)先級(jí)從左至右執(zhí)行運(yùn)算。 C 語言的表達(dá) 式分為算術(shù)表達(dá)式、賦值表達(dá)式和逗號(hào)表達(dá)式等。優(yōu)先級(jí)由高到低是:()、單目+和單 目-、*、和%、+和-。運(yùn)算符如前面所言, C 語言的運(yùn)算符非常豐富,主要有算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn) 算符與按位運(yùn)算符等。此外,還有一些完成特殊任務(wù)的運(yùn)算符。并且, C 語言中算術(shù)運(yùn) 算時(shí),結(jié)果的顯示類型與運(yùn)算符兩邊的數(shù)據(jù)類型有關(guān)。如:72 的結(jié)果為3, 7.02.0 的結(jié)果為 3.5。有些運(yùn)算符對(duì)參與運(yùn)算的量的數(shù)據(jù)類型還有特定要求,如求余運(yùn)

11、算只能 在兩個(gè)整型數(shù)據(jù)之間進(jìn)行。相反的, MATLAB 的運(yùn)算符就比較簡(jiǎn)單。值得注意的一點(diǎn)是, MATLAB 中用左斜杠或右斜杠分別表示“左除”或者“右除”運(yùn)算。對(duì)標(biāo)量而言,兩者 的作用沒有什么區(qū)別,但對(duì)于矩陣而言,兩種運(yùn)算將產(chǎn)生不同的結(jié)果。 C 語言中就不存 在這種情況,除法運(yùn)算用左斜杠表示。函數(shù)MATLAB 的函數(shù)庫是非常豐富的,有數(shù)組函數(shù)、矩陣函數(shù)、關(guān)系函數(shù)和邏輯函數(shù)等 作為一種科學(xué)工程計(jì)算語言,其提供的數(shù)學(xué)計(jì)算函數(shù)較多。在數(shù)組計(jì)算中,針對(duì)標(biāo)量的 一些基本函數(shù),如三角函數(shù)、對(duì)數(shù)函數(shù)、指數(shù)函數(shù)和復(fù)數(shù)運(yùn)算函數(shù)等,都能運(yùn)用于數(shù)組 計(jì)算。MATLAB除了支持傳統(tǒng)的數(shù)學(xué)運(yùn)算外,還支持關(guān)系和邏輯運(yùn)算

12、。MATLAB更突出的 優(yōu)點(diǎn)是其提供了許多工程計(jì)算中所需的一些特殊函數(shù),滿足了科技工作者的需要。C語言提供的函數(shù)在數(shù)量上比不上MATLAB,而且一些特殊的函數(shù)沒有提供,這就 使得MATLAB在諸多工程運(yùn)用領(lǐng)域的顯示了超強(qiáng)的功能和優(yōu)勢(shì)。總的來講,MATLAB與C語言所具有的功能是不同的。C語言精于編程,而MATLAB 的功能則是多方面的。可以說C語言是一名編程的“專業(yè)選手”,MATLAB則是一個(gè)“全能 人才”。MATLAB的基本功能如下:數(shù)學(xué)運(yùn)算功能。它包括矩陣運(yùn)算和數(shù)值分析算法等。2D 和 3D 圖形顯示功能。交互式的高級(jí)編程語言一M語言編程功能。工具箱函數(shù)功能。編譯功能。使 MATLAB 能夠同其他高級(jí)編程語言進(jìn)行混合應(yīng)用,取長(zhǎng)補(bǔ)短, 以提高程序的運(yùn)行速率,豐富程序開發(fā)的手段。Simulink 仿真功能。它的建模范圍廣泛,提供了豐富的功能塊及不同的專業(yè)模 塊集合。( 7) Stateflow 交互式設(shè)計(jì)功能。8) 自動(dòng)代碼生成功能。通過近一段時(shí)間的學(xué)習(xí),我印象比較深刻的是 MATLAB 強(qiáng)大的圖形繪制能力。 MATLAB 的圖形繪制能力包括二維繪圖和三維繪圖兩大部分。其中,二維繪圖可以實(shí) 現(xiàn)圖標(biāo)繪制、科學(xué)曲線繪制和各種專業(yè)數(shù)據(jù)的可視化顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論