資源描述:
《附加程序設(shè)計(jì)基礎(chǔ)Matlab》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、5matlab的程序設(shè)計(jì)基礎(chǔ)——matlab語(yǔ)言稱為第四代編程語(yǔ)言,程序簡(jiǎn)潔、可讀性很強(qiáng)而且調(diào)試十分容易。是matlab重要組成部分。m文件簡(jiǎn)介用戶如想靈活應(yīng)用matlab去解決實(shí)際問(wèn)題,充分調(diào)用matlab的科學(xué)技術(shù)資源,就需要編輯m文件包含matlab語(yǔ)言代碼的文件稱為m文件,其擴(kuò)展名為m。編輯m文件可使用各種文本編輯器。命令行方式程序可讀性差,而且不能存儲(chǔ),對(duì)于復(fù)雜的問(wèn)題,應(yīng)編寫(xiě)成能存儲(chǔ)的程序文件。m文件模式將matlab語(yǔ)句構(gòu)成的程序存儲(chǔ)成以m為擴(kuò)展名的文件,然后再執(zhí)行該程序文件,這種工作模式
2、稱為程序文件模式。程序文件不能在指令窗口下建立,因?yàn)橹噶畲翱谥辉试S一次執(zhí)行一行上的一個(gè)或幾個(gè)語(yǔ)句。一、m文件的創(chuàng)建m文件的類型是普通的文本文件,我們可以使用系統(tǒng)認(rèn)可的文本文件編輯器來(lái)建立m文件。如dos下的edit,windows的記事本和word等。具體的創(chuàng)建方法:在matlab命令窗口點(diǎn)擊file菜單new?m-filem文件編輯器缺省設(shè)置是c:windowsotepad.exe還可設(shè)成:c:windowswrite.exec:windowscommandedit.comc:pr
3、ogramfileofficewinword.exe注意:所創(chuàng)建的m文件必須納入matlab搜索路徑后,才能在matlab命令窗口運(yùn)行。matlab搜索路徑的設(shè)置matlab缺省路徑是c:matlabbin1.cdc:myfile2.path(path,'c:myfile')3.打開(kāi)matlabrc.m文件,將c:myfile加上即可。4.用pathtool路徑瀏覽器設(shè)定當(dāng)前目錄。二、matlab文件的類型數(shù)據(jù)文件.matmat文件是matlab以標(biāo)準(zhǔn)二進(jìn)制格式保存的數(shù)據(jù)文件,可將工作空
4、間中有用的數(shù)據(jù)變量保存下來(lái)。mat文件的生成和調(diào)用是由函數(shù)save和load完成的。例如:loadgatlinimage(X)2.m文件m文件的語(yǔ)法類似于c語(yǔ)言,但又有其自身特點(diǎn)。它只是一個(gè)簡(jiǎn)單的ASCII碼文本文件,執(zhí)行程序時(shí)逐行解釋運(yùn)行程序,matlab是解釋性的編程語(yǔ)言。m文件有兩類?獨(dú)立的m文件—稱命令文件?可調(diào)用m文件—稱函數(shù)文件(1).命令文件—簡(jiǎn)單的m文件命令文件實(shí)際上是一串指令的集合,與在命令窗口逐行執(zhí)行文件中的所有指令,其結(jié)果是一樣的。沒(méi)有輸入輸出參數(shù)。命令文件包括兩部分:注釋文件和
5、程序文件%RANKNumberoflinearlyindependentrowsorcolumns.%K=RANK(X)isthenumberofsingularvaluesofX%thatarelargerthanMAX(SIZE(X))*NORM(X)*EPS.%K=RANK(X,tol)isthenumberofsingularvaluesofXthat%arelargerthantol.%Copyright(c)1984-94byTheMathWorks,Inc.s=svd(x);if(nar
6、gin==1)tol=max(size(x))*max(s)*eps;endr=sum(s>tol);程序部分(2).matlab內(nèi)置函數(shù)文件matlab自定義的函數(shù)文件稱內(nèi)置函數(shù)文件調(diào)用內(nèi)置函數(shù)的方法:使用函數(shù)名并給出相應(yīng)的入口、出口參數(shù)即可。例如:sin.m函數(shù)——用typesin查不到。調(diào)用格式:y=sin(2*x)實(shí)際應(yīng)用中:x=0:2*pi/180:2*pi;y=sin(2*x)plot(x,y)又如sqrt(x)——求x的平方根abs(x)——求x的絕對(duì)值det(a)——求行列式的值等等。
7、matlab擁有大量的內(nèi)置數(shù)學(xué)函數(shù),供我們?cè)跀?shù)值運(yùn)算和符號(hào)運(yùn)算中調(diào)用。(3).函數(shù)m文件—需要輸入變量,返回輸出變量matlab用戶可以根據(jù)需要編輯自己的m文件,它們可以像庫(kù)函數(shù)一樣方便的調(diào)用,從而極大地?cái)U(kuò)展了matlab的能力。對(duì)于某一類特殊問(wèn)題,如創(chuàng)建了許多m函數(shù)文件,則可形成新的工具箱。這種用matlab語(yǔ)言創(chuàng)建定義新的matlab函數(shù)的功能,正體現(xiàn)了matlab語(yǔ)言強(qiáng)大的擴(kuò)展功能。函數(shù)m文件的格式:function返回變量=函數(shù)名(輸入變量)注釋說(shuō)明語(yǔ)句段程序語(yǔ)句段特定規(guī)則:函數(shù)m文件第一行必
8、須以單詞function作為引導(dǎo)詞,必須遵循如下形式:function<因變量>=<函數(shù)名>(<自變量>)m文件的文件名必須是<函數(shù)名>.m。程序中的變量均為局部變量,不保存在工作空間中。其變量只在函數(shù)運(yùn)行期間有效。三、matlab的程序結(jié)構(gòu)matlab語(yǔ)言的程序結(jié)構(gòu)與其它高級(jí)語(yǔ)言是一致的,分為順序結(jié)構(gòu),循環(huán)結(jié)構(gòu),分支結(jié)構(gòu)。(1).順序結(jié)構(gòu)——依次順序執(zhí)行程序的各條語(yǔ)句(2).循環(huán)結(jié)構(gòu)——被重復(fù)執(zhí)行的一組語(yǔ)句,循環(huán)是計(jì)算機(jī)解決問(wèn)題的主要手段。循環(huán)語(yǔ)句主要