本課程為matlab基礎(chǔ)入門(mén)視頻教程,對(duì)于計(jì)算及研究不可缺少的一門(mén)軟件,通過(guò)這么軟件讓很多復(fù)雜的計(jì)算變得如此簡(jiǎn)單,學(xué)習(xí)大學(xué)理科的同學(xué)來(lái)說(shuō),應(yīng)該掌握這么軟件的使用,大學(xué)資源網(wǎng)收集整理。
MATLAB的名稱源自Matrix Laboratory,它是一種科學(xué)計(jì)算軟件,專門(mén)以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用MATLAB產(chǎn)品的開(kāi)放式結(jié)構(gòu),可以非常容易地對(duì)MATLAB的功能進(jìn)行擴(kuò)充,從而在不斷深化對(duì)問(wèn)題認(rèn)識(shí)的同時(shí),不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競(jìng)爭(zhēng)能力。
MATLAB結(jié)合第三方軟硬件產(chǎn)品組成了在不同領(lǐng)域內(nèi)的完整解決方案,實(shí)現(xiàn)了從算法開(kāi)發(fā)到實(shí)時(shí)仿真再到代碼生成與最終產(chǎn)品實(shí)現(xiàn)的完整過(guò)程。
在科學(xué)研究和工程應(yīng)用中,往往要進(jìn)行大量的數(shù)學(xué)計(jì)算,其中包括矩陣運(yùn)算。這些運(yùn)算一般來(lái)說(shuō)難以用手工精確和快捷地進(jìn)行,而要借助計(jì)算機(jī)編制相應(yīng)的程序做近似計(jì)算。目前流行用Basic、Fortran和c語(yǔ)言編制計(jì)算程序, 既需要對(duì)有關(guān)算法有深刻的了解,還需要熟練地掌握所用語(yǔ)言的語(yǔ)法及編程技巧。對(duì)多數(shù)科學(xué)工作者而言,同時(shí)具備這兩方面技能有一定困難。通常,編制程序也是繁雜的,不僅消耗人力與物力,而且影響工作進(jìn)程和效率。為克服上述困難,美國(guó)Mathwork公司于1967年推出了“Matrix Laboratory”(縮寫(xiě)為Matlab)軟件包,并不斷更新和擴(kuò)充。目前最新的5.x版本(windows環(huán)境)是一種功能強(qiáng)、效率高便于進(jìn)行科學(xué)和工程計(jì)算的交互式軟件包。其中包括:一般數(shù)值分析、矩陣運(yùn)算、數(shù)字信號(hào)處理、建模和系統(tǒng)控制和優(yōu)化等應(yīng)用程序,并集應(yīng)用程序和圖形于一便于使用的集成環(huán)境中。在此環(huán)境下所解問(wèn)題的Matlab語(yǔ)言表述形式和其數(shù)學(xué)表達(dá)形式相同,不需要按傳統(tǒng)的方法編程。不過(guò),Matlab作為一種新的計(jì)算機(jī)語(yǔ)言,要想運(yùn)用自如,充分發(fā)揮它的威力,也需先系統(tǒng)地學(xué)習(xí)它。但由于使用Matlab編程運(yùn)算與人進(jìn)行科學(xué)計(jì)算的思路和表達(dá)方式完全一致,所以不象學(xué)習(xí)其它高級(jí)語(yǔ)言--如Basic、Fortran和C等那樣難于掌握。實(shí)踐證明,你可在幾十分鐘的時(shí)間內(nèi)學(xué)會(huì)Matlab的基礎(chǔ)知識(shí),在短短幾個(gè)小時(shí)的使用中就能初步掌握它.從而使你能夠進(jìn)行高效率和富有創(chuàng)造性的計(jì)算。 Matlab大大降低了對(duì)使用者的數(shù)學(xué)基礎(chǔ)和計(jì)算機(jī)語(yǔ)言知識(shí)的要求,而且編程效率和計(jì)算效率極高,還可在計(jì)算機(jī)上直接輸出結(jié)果和精美的圖形拷貝,所以它的確為一高效的科研助手。自推出后即風(fēng)行美國(guó),流傳世界。
綜上所述,Matlab語(yǔ)言有如下特點(diǎn):
1.編程效率高
它是一種面向科學(xué)與工程計(jì)算的高級(jí)語(yǔ)言,允許用數(shù)學(xué)形式的語(yǔ)言編寫(xiě)程序,且比Basic、Fortran和C等語(yǔ)言更加接近我們書(shū)寫(xiě)計(jì)算公式的思維方式,用Matlab編寫(xiě)程序猶如在演算紙上排列出公式與求解問(wèn)題。因此,Matlab語(yǔ)言也可通俗地稱為演算紙式科學(xué)算法語(yǔ)言由于它編寫(xiě)簡(jiǎn)單,所以編程效率高,易學(xué)易懂。
2.用戶使用方便
Matlab語(yǔ)言是一種解釋執(zhí)行的語(yǔ)言(在沒(méi)被專門(mén)的工具編譯之前),它靈活、方便,其調(diào)試程序手段豐富,調(diào)試速度快,需要學(xué)習(xí)時(shí)間少。人們用任何一種語(yǔ)言編寫(xiě)程序和調(diào)試程序一般都要經(jīng)過(guò)四個(gè)步驟:編輯、編譯、連接以及執(zhí)行和調(diào)試。各個(gè)步驟之間是順序關(guān)系,編程的過(guò)程就是在它們之間作瀑布型的循環(huán)。Matlab語(yǔ)言與其它語(yǔ)言相比,較好地解決了上述問(wèn)題,把編輯、編譯、連接和執(zhí)行融為一體。它能在同一畫(huà)面上進(jìn)行靈活操作快速排除輸入程序中的書(shū)寫(xiě)錯(cuò)誤、語(yǔ)法錯(cuò)誤以至語(yǔ)意錯(cuò)誤,從而加快了用戶編寫(xiě)、修改和調(diào)試程序的速度,可以說(shuō)在編程和調(diào)試過(guò)程中它是一種比VB還要簡(jiǎn)單的語(yǔ)言。
具體地說(shuō),Matlab運(yùn)行時(shí),如直接在命令行輸入Mailab語(yǔ)句(命令),包括調(diào)用M文件的語(yǔ)句,每輸入一條語(yǔ)句,就立即對(duì)其進(jìn)行處理,完成績(jī)譯、連接和運(yùn)行的全過(guò)程。又如,將Matlab源程序編輯為M文件,由于Mat1ab磁盤(pán)文件也是M文件,所以編輯后的源文件就可直接運(yùn)行,而不需進(jìn)行編譯和連接。在運(yùn)行M文件時(shí),如果有錯(cuò),計(jì)算機(jī)屏幕上會(huì)給出詳細(xì)的出鍺信息,用戶經(jīng)修改后再執(zhí)行,直到正確為止。所以可以說(shuō),Mat1ab語(yǔ)言不僅是一種語(yǔ)言,廣義上講是一種該語(yǔ)言開(kāi)發(fā)系統(tǒng),即語(yǔ)言調(diào)試系統(tǒng)。
3.?dāng)U充能力強(qiáng)
高版本的Matlab語(yǔ)言有豐富的庫(kù)函數(shù),在進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算時(shí)可以直接調(diào)用,而且Matlab的庫(kù)函數(shù)同用戶文件在形成上一樣,所以用戶文件也可作為Matlab的庫(kù)函數(shù)來(lái)調(diào)用。因而,用戶可以根據(jù)自己的需要方便地建立和擴(kuò)充新的庫(kù)函數(shù),以便提高M(jìn)atlab使用效率和擴(kuò)充它的功能。另外,為了充分利用Fortran、C等語(yǔ)言的資源,包括用戶已編好的Fortran,C語(yǔ)言程序,通過(guò)建立Me調(diào)文件的形式,混合編程,方便地調(diào)用有關(guān)的Fortran,C語(yǔ)言的子程序。
4.語(yǔ)句簡(jiǎn)單,內(nèi)涵豐富
Mat1ab語(yǔ)言中最基本最重要的成分是函數(shù),其一般形式為「a,6,c……] = fun(d,e,f,……),即一個(gè)函數(shù)由函數(shù)名,輸入變量d,e,f,……和輸出變量a,b,c……組成,同一函數(shù)名F,不同數(shù)目的輸入變量(包括無(wú)輸入變量)及不同數(shù)目的輸出變量,代表著不同的含義(有點(diǎn)像面向?qū)ο笾械亩鄳B(tài)性。這不僅使Matlab的庫(kù)函數(shù)功能更豐富,而大大減少了需要的磁盤(pán)空間,使得Matlab編寫(xiě)的M文件簡(jiǎn)單、短小而高效。
使用matlaB的優(yōu)勢(shì):
(1)友好的工作平臺(tái)和編程環(huán)境
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級(jí),MATLAB的用戶界面也越來(lái)越精致,更加接近Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。而且新版本的MATLAB提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過(guò)編譯就可以直接運(yùn)行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析。
(2)簡(jiǎn)單易用的程序語(yǔ)言
Matlab一個(gè)高級(jí)的矩陣/陣列語(yǔ)言,它包含控制語(yǔ)句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語(yǔ)句與執(zhí)行命令同步,也可以先編寫(xiě)好一個(gè)較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運(yùn)行。新版本的MATLAB語(yǔ)言是基于最為流行的C++語(yǔ)言基礎(chǔ)上的,因此語(yǔ)法特征與C++語(yǔ)言極為相似,而且更加簡(jiǎn)單,更加符合科技人員對(duì)數(shù)學(xué)表達(dá)式的書(shū)寫(xiě)格式。使之更利于非計(jì)算機(jī)專業(yè)的科技人員使用。而且這種語(yǔ)言可移植性好、可拓展性極強(qiáng),這也是MATLAB能夠深入到科學(xué)研究及工程計(jì)算各個(gè)領(lǐng)域的重要原因。
(3)強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能力
MATLAB是一個(gè)包含大量計(jì)算算法的集合。其擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過(guò)了各種優(yōu)化和容錯(cuò)處理。在通常情況下,可以用它來(lái)代替底層編程語(yǔ)言,如C和C++ 。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會(huì)大大減少。MATLAB的這些函數(shù)集包括從最簡(jiǎn)單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問(wèn)題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問(wèn)題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動(dòng)態(tài)仿真等。
(4)出色的圖形處理功能
圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來(lái),并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫(huà)和表達(dá)式作圖。可用于科學(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒(méi)有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。