資源描述:
《matlab7 matlab教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第七節(jié)matlab的程序設(shè)計——matlab語言稱為第四代編程語言,程序簡潔、可讀性很強(qiáng)而且調(diào)試十分容易。是matlab重要組成部分。m文件簡介用戶如想靈活應(yīng)用matlab去解決實際問題,充分調(diào)用matlab的科學(xué)技術(shù)資源,就需要編輯m文件包含matlab語言代碼的文件稱為m文件,其擴(kuò)展名為m。編輯m文件可使用各種文本編輯器。一、matlab的工作模式指令驅(qū)動模式?通常matlab以指令驅(qū)動模式工作,即在matlab窗口下當(dāng)用戶輸入單行指令時,matlab立即處理這條指令,并顯示結(jié)果,這就是matlab命令行方式。?命
2、令行操作時,matlab窗口只允許一次執(zhí)行一行上的一個或幾個語句。例如:x1=0:10x1=012345678910x2=0:3:11x2=0369x3=11.5:-3:0x3=11.50008.50005.50002.5000x1=0:10,x2=0:3:11,x3=11.5:-3:0x1=012345678910x2=0369x3=11.50008.50005.50002.5000在matlab窗口輸入數(shù)據(jù)和命令進(jìn)行計算時,當(dāng)處理復(fù)雜問題和大量數(shù)據(jù)時是不方便的。因此應(yīng)編輯m文件。命令行方式程序可讀性差,而且不能存儲
3、,對于復(fù)雜的問題,應(yīng)編寫成能存儲的程序文件。m文件模式將matlab語句構(gòu)成的程序存儲成以m為擴(kuò)展名的文件,然后再執(zhí)行該程序文件,這種工作模式稱為程序文件模式。程序文件不能在指令窗口下建立,因為指令窗口只允許一次執(zhí)行一行上的一個或幾個語句。二、m文件的創(chuàng)建m文件的類型是普通的文本文件,我們可以使用系統(tǒng)認(rèn)可的文本文件編輯器來建立m文件。如dos下的edit,windows的記事本和word等。具體的創(chuàng)建方法:在matlab命令窗口點擊file菜單new?m-file2.點擊file—SaveWorkspaceAs將工作空
4、間中的內(nèi)容存入文件。3.!edit——用dos下edit編輯器編制m文件。4.edit——用matlab自帶的編輯器編制m文件。5.word——用word編輯m文件。m文件編輯器的設(shè)定m文件編輯器可自己設(shè)定,設(shè)定方法是matlab命令窗口options菜單下點擊EditPreference選定m文件編輯器。m文件編輯器缺省設(shè)置是c:windowsotepad.exe還可設(shè)成:c:windowswrite.exec:windowscommandedit.comc:programfileofficew
5、inword.exe注意:所創(chuàng)建的m文件必須納入matlab搜索路徑后,才能在matlab命令窗口運(yùn)行。matlab搜索路徑的設(shè)置matlab缺省路徑是c:matlabbin1.cdc:myfile2.path(path,'c:myfile')3.打開matlabrc.m文件,將c:myfile加上即可。4.用pathtool路徑瀏覽器設(shè)定當(dāng)前目錄。三、matlab文件的類型數(shù)據(jù)文件.matmat文件是matlab以標(biāo)準(zhǔn)二進(jìn)制格式保存的數(shù)據(jù)文件,可將工作空間中有用的數(shù)據(jù)變量保存下來。mat文件的生成和調(diào)用是由
6、函數(shù)save和load完成的。例如:loadgatlinimage(X)colormap(gray);axisequal;axis('off')2.m文件m文件的語法類似于c語言,但又有其自身特點。它只是一個簡單的ASCII碼文本文件,執(zhí)行程序時逐行解釋運(yùn)行程序,matlab是解釋性的編程語言。m文件有兩類?獨立的m文件—稱命令文件?可調(diào)用m文件—稱函數(shù)文件(1).命令文件—簡單的m文件命令文件實際上是一串指令的集合,與在命令窗口逐行執(zhí)行文件中的所有指令,其結(jié)果是一樣的。沒有輸入輸出參數(shù)。命令文件包括兩部分:注釋文件和
7、程序文件%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(nargin==1)to
8、l=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)實際應(yīng)用中:x=0:2*p