




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二章基本語法2.1變量與賦值2.2矩陣的初等運算2.3元素群運算2.4邏輯判斷及流程控制2.5基本繪圖方法2.6M文件及程序調(diào)試一、M文件簡介2.6M文件及程序調(diào)試用戶如想靈活應(yīng)用matlab去解決實際問題,充分調(diào)用matlab的科學(xué)技術(shù)資源,就需要編輯m文件包含matlab語言代碼的文件稱為m文件,其擴(kuò)展名為m。編輯m文件可使用各種文本編輯器。Matlab有兩種工作方式:1、交互式命令行操作方式2、M文件的編程工作方式
1、交互式命令行操作方式通常matlab以指令驅(qū)動模式工作,即在matlab
窗口下當(dāng)用戶輸入單行指令時,matlab
立即處理這條指令,并顯示結(jié)果,這就是matlab命令行方式。被當(dāng)作‘?dāng)?shù)學(xué)演算紙和圖形顯示器’來使用。命令行操作時,matlab窗口一般只允許一次執(zhí)行一行上的一個或幾個語句。例如:x1=0:10x1=012345678910如:x1=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文件。命令行方式程序可讀性差,而且不能存儲,對于復(fù)雜的問題,應(yīng)編寫成能存儲的程序文件。2、M文件的編程工作方式在M文件的編程工作方式,Matlab可以像其他高級計算機(jī)語言一樣進(jìn)行程序設(shè)計,即編制一種以.m為擴(kuò)展名的Matlab程序(簡稱M文件)二、M文件的建立具體的創(chuàng)建方法:在matlab命令窗口點擊file菜單
newm-file2、工具欄的新建按鈕三、m文件的分類
可以存取的M文件—稱命令文件(程序文件、腳本文件)可調(diào)用M文件—稱函數(shù)(function)文件1、程序文件以.m格式進(jìn)行存取,包含一連串的MATLAB指令和必要的注解。與在命令窗口逐行執(zhí)行文件中的所有指令,其結(jié)果是一樣的。沒有輸入輸出參數(shù)。程序運行時只需在命令窗口中鍵入其名稱即可(1)、用clear,closeall等語句開始,清除工作空間原有的變量與圖形,以避免其它已執(zhí)行的程序殘留數(shù)據(jù)對本程序的影響。(2)、前幾行通常是對此程序的說明。這些注釋行必須以%開始,以便計算機(jī)執(zhí)行時不予理會。(注釋部分)(3)、程序的主體如果程序中有全局變量,即在主程序與主程序中共有的變量,應(yīng)在程序中的起始部分注明。語句為:
global變量名(4)、整個程序按Matlab
標(biāo)示符的要求其文件名,并加上.m后綴。主要特征:%西安電子科技大學(xué)出版社出版陳懷琛編著1999年10月初版,2004年11月第二版%%求fibonacci數(shù)的程序clcclearcloseallR=input('輸入fibonacci數(shù)的最大范圍R='),f=[11];i=1;whilef(i)+f(i+1)<Rf(i+2)=f(i)+f(i+1);i=i+1;endfplot(f)注意:程序中的變量保存在工作空間中。兩大部分:注釋部分、程序部分%求素數(shù)的程序clearcloseallclcN=input('輸入素數(shù)的最大范圍N=');x=2:N;
%列出從2-N的全部自然數(shù)foru=2:sqrt(N)%依次取出除數(shù)(最大到N的平方根)n=find(rem(x,u)==0&x~=u);%找到被U整除且不等于U的數(shù)的序號
x(n)=[];%去掉該數(shù)
endx%顯示結(jié)果2、函數(shù)文件
(1)函數(shù)定義行(關(guān)鍵字function)function[out1,out2,..]=filename(in1,in2,..)輸入和輸出(返回)的參數(shù)個數(shù)分別由nargin和nargout兩個MATLAB保留的變量來給出。(2)函數(shù)體說明及有關(guān)注解以(%)開頭,用以說明函數(shù)的作用及有關(guān)內(nèi)容如果不希望顯示某段信息,可在它的前面加空行(3)函數(shù)體語句函數(shù)體內(nèi)使用的除返回和輸入變量這些在function語句中直接引用的變量以外的所有變量都是局部變量,即在該函數(shù)返回之后,這些變量會自動在MATLAB的工作空間中清除掉。如果希望這些中間變量成為在整個程序中都起作用的變量,則可以將它們設(shè)置為全局變量。
functiony=mean(x)%Mean求平均值,返回x向量所有元素的平均值%對于矩陣,返回各列平均值的行向量[m,n]=size(x)ifm==1m=nendy=sum(x)/m例如:變量不在工作空間里
matlab用戶可以根據(jù)需要編輯自己的m文件,它們可以像庫函數(shù)一樣方便的調(diào)用,從而極大地擴(kuò)展了matlab
的能力對于某一類特殊問題,如創(chuàng)建了許多m函數(shù)文件,則可形成新的工具箱。這種用matlab語言創(chuàng)建定義新的matlab函數(shù)的功能,正體現(xiàn)了matlab語言強(qiáng)大的擴(kuò)展功能。內(nèi)置函數(shù)函數(shù)m文件的格式:
function返回變量=函數(shù)名(輸入變量)注釋說明語句段程序語句段特定規(guī)則:函數(shù)m文件第一行必須以單詞function作為引導(dǎo)詞,必須遵循如下形式:
function[變量1,變量2]=函數(shù)名(變量1,變量2)m文件的文件名必須是<函數(shù)名>.m。程序中的變量(輸出除外)均為局部變量,不保存在工作空間中。其變量只在函數(shù)運行期間有效。局部變量每個函數(shù)都有自己的局部變量,這些變量存儲在該函數(shù)獨立的工作區(qū)中,與其他函數(shù)的變量及主工作區(qū)中的變量分開存儲。當(dāng)函數(shù)調(diào)用結(jié)束時,這些變量隨之刪除,不保存在內(nèi)存中。并且,除了函數(shù)返回值,該函數(shù)不改變工作區(qū)中其他變量的值。然而腳本文件沒有獨立的工作區(qū),當(dāng)通過命令窗口調(diào)用腳本文件時,腳本文件分享主工作區(qū),當(dāng)函數(shù)調(diào)用腳本文件時,腳本文件分享主調(diào)函數(shù)的工作區(qū)。需要注意的是,如果腳本中改變了工作區(qū)中變量的值,則在腳本文件調(diào)用結(jié)束后,該變量的值發(fā)生改變。在函數(shù)中,變量默認(rèn)為局部變量。全局變量局部變量只在一個工作區(qū)內(nèi)有效,無論是函數(shù)工作區(qū)還是MATLAB主工作區(qū)。與局部變量不同,全局變量可以在定義該變量的全部工作區(qū)中有效。當(dāng)在一個工作區(qū)內(nèi)改變該變量的值時,該變量在其他工作區(qū)中的變量同時改變。任何函數(shù)如果需要使用全局變量,則必須首先聲明,聲明格式為:global變量名1變量名2如果一個M文件中包含的子函數(shù)需要訪問全局變量,則需在子函數(shù)中聲明該變量,如果需要在命令行中訪問該變量,則需在命令行中聲明該變量。【例】全局變量應(yīng)用示例先建立函數(shù)文件wadd.m,該函數(shù)將輸入的參數(shù)加權(quán)相加。functionf=wadd(x,y)%addtwovariableglobalALPHABETAf=ALPHA*x+BETA*y;在命令窗口中輸入:
globalALPHABETAALPHA=1;BETA=2;s=wadd(1,2)輸出為:
s=5function[x,d]=root1(a,b,c)
%%a=input('a=');%pause(5)%b=input('b=');%%A='pressanykeytocontinue..';%disp(A)%pause%c=input('c=');
d=b*b-4*a*c;
%disp(A)%pausex=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
functionfout=charray(a,b,c)ifnargin==1
fout=a;
elseif
nargin==2
fout=a+b;
elseif
nargin==3
fout=(a*b*c)/2;end四、人機(jī)交互命令
★echo指令—用來控制m文件在執(zhí)行過程中是否顯示
echoon—打開所有命令文件的顯示方式
echooff—關(guān)閉所有命令文件的顯示方式%求素數(shù)的程序N=input('輸入素數(shù)的最大范圍N=');x=2:N;echoon%在命令窗口中顯示執(zhí)行程序
%列出從2-N的全部自然數(shù)foru=2:sqrt(N)%依次取出除數(shù)(最大到N的平方根)n=find(rem(x,u)==0&x~=u);%找到被U整除且不等于U的數(shù)的序號
x(n)=[];%去掉該數(shù)endechooff%在命令窗口中不顯示執(zhí)行程序x%顯示結(jié)果pause——暫停,等待用戶響應(yīng)
調(diào)用格式:pause(延遲秒數(shù))
注:如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。
若要強(qiáng)行中止程序的運行可使用Ctrl+C命令。a=input('a=');
pause(5)b=input('b=');
A='pressanykeytocontinue..';
disp(A)pausec=input('c=');
d=b*b-4*a*c;
disp(A)pausex=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]keyboard—當(dāng)keyboard在m文件中出現(xiàn)時,它停止文件的執(zhí)行并控制鍵盤,用于修改程序。a=input('a=');
pause(2)b=input('b=');
A='pressanykeytocontinue..';
disp(A)pausec=input('c=');keyboardd=b*b-4*a*c;
disp(A)pausex=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]五、程序的調(diào)試1、matlab的命令文件是比較容易調(diào)試的,因為Matlab的查錯能力很強(qiáng),再加上工作空間變量的保存和顯示,不需要專
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通過游戲促進(jìn)幼兒認(rèn)知發(fā)展計劃
- 團(tuán)隊文化塑造的重要性計劃
- 學(xué)校社團(tuán)工作計劃鼓勵學(xué)生寫詩
- 2025年羧甲淀粉鈉項目合作計劃書
- 七年級下冊《一元一次不等式的應(yīng)用》課件與練習(xí)
- 制冷空調(diào)培訓(xùn)課件
- 強(qiáng)化廢棄物管理推動生物降解
- 構(gòu)建系統(tǒng)耦合度控制與優(yōu)化機(jī)制
- 關(guān)于員工培訓(xùn)的會議紀(jì)要及培訓(xùn)計劃
- 功能、使用與維護(hù)指南
- 雙溪漂流可行性報告
- 采購流程各部門關(guān)系圖
- 力士樂工程機(jī)械液壓培訓(xùn)資料(共7篇)課件
- 英語單詞詞根
- 問題學(xué)生轉(zhuǎn)化策略課件
- GMP附錄計算機(jī)化系統(tǒng)整體及條款解讀
- 村光伏發(fā)電申請書
- 腰椎間盤突出癥中醫(yī)特色療法課件
- 施工現(xiàn)場專項消防安全檢查表
- 如何當(dāng)好學(xué)校的中層干部
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語試卷
評論
0/150
提交評論