第三章M文件設(shè)計ppt課件_第1頁
第三章M文件設(shè)計ppt課件_第2頁
第三章M文件設(shè)計ppt課件_第3頁
第三章M文件設(shè)計ppt課件_第4頁
第三章M文件設(shè)計ppt課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章第三章 M文件設(shè)計文件設(shè)計命令文件命令文件( (腳本式腳本式) )變量、表達式、運算符變量、表達式、運算符程序設(shè)計中的流程控制程序設(shè)計中的流程控制函數(shù)文件的編寫函數(shù)文件的編寫命令文件命令文件( (腳本式腳本式M M文件文件) ) 無輸入?yún)?shù),不前往參數(shù)無輸入?yún)?shù),不前往參數(shù) 操作任務(wù)空間中的數(shù)據(jù)操作任務(wù)空間中的數(shù)據(jù) 對于需求多次執(zhí)行的一系列命令特別有用對于需求多次執(zhí)行的一系列命令特別有用函數(shù)文件函數(shù)文件( (函數(shù)式函數(shù)式M M文件文件) ) 可輸入?yún)?shù),也可前往參數(shù)可輸入?yún)?shù),也可前往參數(shù) 函數(shù)的變量為部分變量,也可設(shè)外部變量。函數(shù)的變量為部分變量,也可設(shè)外部變量。 擴展擴展MATLAB

2、MATLAB的函數(shù)庫的函數(shù)庫M文件分為命令文件和函數(shù)文件兩種文件分為命令文件和函數(shù)文件兩種需求幾行需求幾行( (或幾十行或幾十行) )命令才干完成的作業(yè)命令才干完成的作業(yè), ,最好用程序編輯器編寫命令文件。對文件命名最好用程序編輯器編寫命令文件。對文件命名, ,保管在當前任務(wù)目錄中保管在當前任務(wù)目錄中. . 命令文件命令文件MATLAB的命令序列的命令序列 nkknkS0121)1(4k=0;n=1;f=1;an=1;s=1;while an0.00002 f= - f; n=n+2; an=1/n; s=s+f*an; k=k+1;endP=4*s變量創(chuàng)建常用賦值語句實現(xiàn)變量創(chuàng)建常用賦值語句

3、實現(xiàn) 變量名變量名=數(shù)據(jù)數(shù)據(jù) theta=3.14/4 %將數(shù)據(jù)賦值給變量名將數(shù)據(jù)賦值給變量名留意:變量名必需是英文字母打頭;留意:變量名必需是英文字母打頭;表達式表達式由變量、運算符、函數(shù)、數(shù)字組成由變量、運算符、函數(shù)、數(shù)字組成表達式創(chuàng)建常用賦值方法實現(xiàn)表達式創(chuàng)建常用賦值方法實現(xiàn) 變量名變量名=表達式表達式theta=pi/4x=sin(theta);P=1+2*x+3*x2+4*x3MATLAB的變量和表達式的變量和表達式部分變量:具有函數(shù)內(nèi)部作用范圍部分變量:具有函數(shù)內(nèi)部作用范圍全局變量:可在幾個函數(shù)和根本任務(wù)空間全局變量:可在幾個函數(shù)和根本任務(wù)空間之間共享,具有全局作用范圍之間共享,具

4、有全局作用范圍全局變量的聲明:全局變量的聲明: global global 變量名變量名1 1 變量名變量名2 2 部分變量和全局變量部分變量和全局變量永久變量永久變量 ans; eps; pi; i; j; inf; NaN;+ 加加 .+ 點加點加 - 減減 .- 點減點減 矩陣冪矩陣冪 . 點冪點冪* 乘乘 .* 點乘點乘/ 右除右除 ./ 點右除點右除 左除左除 . 點左除點左除1 .算術(shù)運算符算術(shù)運算符2.關(guān)系運算符關(guān)系運算符 小于小于 大于大于 = 大于等于大于等于 = 等于等于 = 不等于不等于3.邏輯運算符邏輯運算符 & 與與 (and) | 或或 (or) 非非 (n

5、ot)MATLAB 程序中的流程控制程序中的流程控制條件控制條件控制; 循環(huán)控制循環(huán)控制; 錯誤控制錯誤控制;終止運轉(zhuǎn)控制終止運轉(zhuǎn)控制條件控制條件控制有選擇地運轉(zhuǎn)程序塊有選擇地運轉(zhuǎn)程序塊1. if / elseif 語句語句分析以下程序,闡明運轉(zhuǎn)結(jié)果及緣由分析以下程序,闡明運轉(zhuǎn)結(jié)果及緣由 clear a=100;b=10; if ab disp(ab) %顯示字符串顯示字符串a(chǎn)b) %顯示字符串顯示字符串a(chǎn)b end2. Switch / case 語句語句clearn=input(input n=);switch mod(n,5)case 0 fprintf(%d 是是5的倍數(shù)的倍數(shù),n)o

6、therwise fprintf(%d 不是不是5的倍數(shù)的倍數(shù),n)end程序運轉(zhuǎn)程序運轉(zhuǎn):input n=4444 不是不是5的倍數(shù)的倍數(shù)1. for循環(huán)循環(huán)語法:語法: for 變量變量 =初值:步長:終初值:步長:終值值 可執(zhí)行語句可執(zhí)行語句 end求裴波拉奇數(shù)列的第求裴波拉奇數(shù)列的第 n 項項( n 2)n=input(input n:=);f(1)=1;f(2)=1;for k=3:n f(k)=f(k-1)+f(k-2);endf(n)n:=10, f(10)=55n:=44, f(44)=7014087332. while循環(huán)循環(huán) while循環(huán)將循環(huán)體中的語句循環(huán)執(zhí)行不定循環(huán)將

7、循環(huán)體中的語句循環(huán)執(zhí)行不定次數(shù)。次數(shù)。 語法:語法: while 條件表達式條件表達式 循環(huán)體語句循環(huán)體語句 end條件表達式普通由變量、數(shù)字、邏輯運算、關(guān)系運條件表達式普通由變量、數(shù)字、邏輯運算、關(guān)系運算符和普通運算符組成,以判別循環(huán)的進展和停頓;算符和普通運算符組成,以判別循環(huán)的進展和停頓;只需表達式的值只需表達式的值(邏輯值邏輯值)結(jié)果為正確結(jié)果為正確(非非0),循環(huán)繼,循環(huán)繼續(xù);直到表達式值為續(xù);直到表達式值為0,循環(huán)停頓。,循環(huán)停頓。 角谷猜測角谷猜測. n=input(input n=); %輸入數(shù)據(jù)輸入數(shù)據(jù)while n=1 r=rem(n,2); %求求n/2的余的余數(shù)數(shù) if

8、 r = =0 n=n/2 %第一種操作第一種操作 else n=3*n+1 %第二種操作第二種操作 endend 對任一自然數(shù)對任一自然數(shù)n,按如下法那么進展運算,按如下法那么進展運算:假設(shè)假設(shè)n為為偶數(shù)偶數(shù),那么將那么將n除除2;假設(shè)假設(shè)n為奇數(shù),那么將為奇數(shù),那么將n乘乘3加加1。將運算。將運算結(jié)果按結(jié)果按上面法那么繼續(xù)運算上面法那么繼續(xù)運算, 反復(fù)假設(shè)干次后計算結(jié)果最終反復(fù)假設(shè)干次后計算結(jié)果最終是是1. n=5 16, 8, 4, 2, 13. continue 命令命令通常用于通常用于for或或while循環(huán)語句中循環(huán)語句中,與與if語句一同運用語句一同運用,到達跳過本次循環(huán)到達跳過

9、本次循環(huán),去執(zhí)行下一輪循環(huán)的目的去執(zhí)行下一輪循環(huán)的目的分析以下程序,闡明運轉(zhuǎn)結(jié)果及緣由分析以下程序,闡明運轉(zhuǎn)結(jié)果及緣由a=3;b=6;for i=1:3 b=b+1; if i2 continue %當當if條件滿足時不再執(zhí)行后面語句條件滿足時不再執(zhí)行后面語句 end a=a+2 %當當i2 break %當當if條件滿足時不再執(zhí)行循環(huán)條件滿足時不再執(zhí)行循環(huán) end a=a+2end運轉(zhuǎn)結(jié)果運轉(zhuǎn)結(jié)果:a=5a=7程序流控制語句程序流控制語句 returnreturn指令指令 終止當前的命令序列,把控制前往到調(diào)用函數(shù)終止當前的命令序列,把控制前往到調(diào)用函數(shù)或鍵盤?;蜴I盤。pausepause 使

10、程序運轉(zhuǎn)停頓,等待用戶按恣意鍵繼續(xù)。使程序運轉(zhuǎn)停頓,等待用戶按恣意鍵繼續(xù)。break break 用于中斷用于中斷forfor或或whilewhile循環(huán)的執(zhí)行。當中斷后,循環(huán)的執(zhí)行。當中斷后,程序退到本級循環(huán)以外的下一條語句執(zhí)行。程序退到本級循環(huán)以外的下一條語句執(zhí)行。inputinput 提示用戶從鍵盤輸入數(shù)值、字符串或表達式,提示用戶從鍵盤輸入數(shù)值、字符串或表達式,并接受輸入。并接受輸入。函數(shù)文件編寫函數(shù)文件編寫函數(shù)文件名必需以英文字母開頭函數(shù)文件名必需以英文字母開頭, ,并以并以 .m .m 為后為后綴綴, ,如如f1.mf1.m、f2.mf2.m、g1.mg1.m、g2.mg2.m、f

11、unction 前往變量列表函數(shù)名前往變量列表函數(shù)名(輸入變量列輸入變量列表表)%注講解明注講解明 輸入變量輸入變量nargin格式檢測格式檢測,輸出變量輸出變量 nargout檢檢測測 函數(shù)體函數(shù)體留意留意:函數(shù)名應(yīng)該和文件名一樣函數(shù)名應(yīng)該和文件名一樣函數(shù)文件格式函數(shù)文件格式例例 編寫函數(shù)文件編寫函數(shù)文件myhilb.m,myhilb.m,功能如下功能如下: :創(chuàng)建希爾伯特矩陣創(chuàng)建希爾伯特矩陣 H=(hij)mn , hij = 1/(i+j-1).文件包括協(xié)助信息文件包括協(xié)助信息,根本功能根本功能,調(diào)用方式闡明調(diào)用方式闡明;調(diào)用只需一個輸入?yún)?shù),那么自動生成方陣調(diào)用只需一個輸入?yún)?shù),那么自

12、動生成方陣;檢測輸入變量個數(shù),有錯誤那么給出錯誤信檢測輸入變量個數(shù),有錯誤那么給出錯誤信息息調(diào)用時沒用前往變量,那么僅顯示矩陣調(diào)用時沒用前往變量,那么僅顯示矩陣myhilb(3) 1/3 1/4 1/5 1/4 1/5 1/6 1/5 1/6 1/7function A=myhilb(n,m)%A=myhilb(n,m)生成一個生成一個n*m階希爾伯特矩陣階希爾伯特矩陣%A=myhilb(n)生成一個生成一個n*n階希爾伯特矩陣階希爾伯特矩陣%myhilb(n,m)顯示一個顯示一個n*m階希爾伯特矩陣階希爾伯特矩陣if nargin = =1,m=n;elseif nargin = =0 |

13、nargin2, error(wrong number of input argments);endfor i=1:n for j=1:m A1(i,j)=1/(i+j-1); %計算矩陣元素計算矩陣元素 endendif nargout = =1 A=A1; %將數(shù)據(jù)傳送給輸出變量將數(shù)據(jù)傳送給輸出變量elseif nargout = =0 format rat,disp(A1); %以分數(shù)方式顯示矩陣以分數(shù)方式顯示矩陣end例例5.6.1 5.6.1 計算積分上限函數(shù)計算積分上限函數(shù) txdxextF031)(在自變量在自變量 t t 分別取值為分別取值為1 1,2 2,3 3,4 4,5

14、5時數(shù)值時數(shù)值積分。積分。 f=inline(x.3./(exp(x)-1);q(1)=quad(f,eps,1);for k=1:4 q(k+1)=q(k)+quad(f,k,k+1);endqq = 0.2248 1.1763 2.5522 3.8771 4.8999MATLAB的程序調(diào)試方法的程序調(diào)試方法MatLab在執(zhí)行程序有錯時會自動終止運轉(zhuǎn),并在在執(zhí)行程序有錯時會自動終止運轉(zhuǎn),并在其命令窗口其命令窗口(Matlab Command Windows)中給出相中給出相應(yīng)錯誤的提示信息應(yīng)錯誤的提示信息同時同時MATLAB的編輯器的編輯器(Editor)具有程序調(diào)試功能,具有程序調(diào)試功能,

15、可用調(diào)試命令用來檢查程序的正確性可用調(diào)試命令用來檢查程序的正確性單單步步執(zhí)執(zhí)行行斷斷點點間間執(zhí)執(zhí)行行終終止止調(diào)調(diào)試試(1)(1)在程序可疑處設(shè)置斷點;在程序可疑處設(shè)置斷點;(2)(2)執(zhí)行程序;執(zhí)行程序;(3)(3)檢查程序運轉(zhuǎn)至斷點處變量當前值檢查程序運轉(zhuǎn)至斷點處變量當前值(4)(4)在程序中一步步執(zhí)行在程序中一步步執(zhí)行(5)(5)終了調(diào)試形狀。終了調(diào)試形狀。(6)(6)取消斷點。取消斷點。執(zhí)行程序之后,程執(zhí)行程序之后,程序會停在斷點處。序會停在斷點處。并出現(xiàn)箭頭同時并出現(xiàn)箭頭同時調(diào)試工具欄由灰色調(diào)試工具欄由灰色變?yōu)樯钌優(yōu)樯钌{(diào)試程序步驟:調(diào)試程序步驟:MATLAB編程技巧編程技巧1.1.矢量化矢量化盡能夠運用向量和矩陣操作盡能夠運用向量和矩陣操作 1000000)3121(kkk例例 求求t=cputime;s=0;for i=1:100000 s=s+(1/2i+1/3i); endcputime-tans = 0.8750向量運算向量運算t

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論