水工藝及計算機應(yīng)用PPT課件_第1頁
水工藝及計算機應(yīng)用PPT課件_第2頁
水工藝及計算機應(yīng)用PPT課件_第3頁
水工藝及計算機應(yīng)用PPT課件_第4頁
水工藝及計算機應(yīng)用PPT課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三節(jié) Matlab編程 3.1 關(guān)系運算 3.2 控制流 3.3 M 文件 第二章 Matlab基本操作第1頁/共40頁3.1 關(guān)系運算一. 比較運算比較兩個同階矩陣有下面六種相關(guān)操作符:小于大于=大于等于=等于=不等于l 比較大小,如果結(jié)論是 真 則返回 1 ,否則返回 0l 注意 = 與 = 的區(qū)別l 關(guān)系操作符能用來比較變量,兩個同樣大小的數(shù)組,或用來比較一個數(shù)組和一個標量。第2頁/共40頁3.1 關(guān)系運算 1.當比較標量時:a和b的關(guān)系成立,結(jié)果為1,否則結(jié)果為0;2.當比較兩個維數(shù)相同的數(shù)組時:按相同位置比較,結(jié)果是一個維數(shù)和a相同的數(shù)組,其元素由1和0組成。3.當比較的一個是數(shù)組

2、a,一個是標量b時:則把標量b和數(shù)組a的每一個元素按標量關(guān)系逐個比較,結(jié)果是一個維數(shù)和a相同的數(shù)組,其元素由1和0組成。例:第3頁/共40頁3.1 關(guān)系運算 二.邏輯運算u一)邏輯運算符& 與與 (Elementwise AND)| 或或 (Elementwise OR) 非非xor(x,y) 異異或或A & B 等價于 and(A,B)A | B 等價于 or(A,B) A 等價于 not(A)第4頁/共40頁3.1 關(guān)系運算u二)邏輯運算表運算對象運算對象與與或或非非異或異或ABA&BA|BAXor(A,B)000010010111100101111100邏輯操作符

3、認定任何非零元素都為真,給出“1”,任何零元素都為假,給出“0”非(或邏輯非)是一元操作符,即A:當A是非零時結(jié)果為“0”;當A為“0”時,結(jié)果為“1” 第5頁/共40頁3.1 關(guān)系運算u三)邏輯函數(shù)all(x)主要功能:測試矩陣中是否有零元素如果向量 X 中所有元素都非零,則返回 1,否則返回 0;若 x 為矩陣,則 any 和 all 按列運算,返回一個 0-1 向量any(x)主要功能:測試矩陣中是否有非零元素如果向量 X 中存在非零元素,則返回 1,否則返回 0;第6頁/共40頁3.1 關(guān)系運算例:非運算:與運算:函數(shù)邏輯運算:第7頁/共40頁3.1 關(guān)系運算u四)一些測試函數(shù)isfi

4、nite元素為有限值,返回真值元素為有限值,返回真值 1isinf元素為無窮大,返回真值元素為無窮大,返回真值 1isnan元素為不定值,返回真值元素為不定值,返回真值 1isreal參量無虛部,返回真值參量無虛部,返回真值 1isstr參量為一個字符串,返回真值參量為一個字符串,返回真值 1isempty參量為空,返回真值參量為空,返回真值 1第8頁/共40頁3.1 關(guān)系運算u運算優(yōu)先級括號括號冪,點冪冪,點冪正號,負號,邏輯非正號,負號,邏輯非乘,除,點乘,點除乘,除,點乘,點除加,減加,減冒號運算冒號運算關(guān)系運算關(guān)系運算&|&|高低第9頁/共40頁3.2 控制流 程序控制

5、結(jié)構(gòu)有三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。任何復雜的程序都由這三種基本結(jié)構(gòu)組成。 Matlab與其它計算機語言一樣,也有控制流語句,控制流語句可使原本簡單地在命令行中運行的一系列命令或函數(shù),組合成為一個整體程序,從而提高工作效率。第10頁/共40頁3.2 控制流 一.順序結(jié)構(gòu)l 按排列順序依次執(zhí)行各條語句,直到程序的最后。l 這是最簡單的一種程序結(jié)構(gòu),一般涉及數(shù)據(jù)的輸入輸出、數(shù)據(jù)的計算或處理等。u 一)數(shù)據(jù)的輸入:inputA=input(提示信息)l 其中 提示信息 為字符串,l 該命令要求用戶輸入 A 的值 (可以是數(shù)或字符串)并讀取第11頁/共40頁3.2 控制流u 二)數(shù)據(jù)的輸出(1)

6、:dispdisp(X)輸出變量 X 的值,可以是數(shù)值矩陣或字符串例:第12頁/共40頁3.2 控制流fprintf(fid,format,variables)按指定的格式將變量的值輸出到指定的文件u 三)數(shù)據(jù)的輸出(2):fprintfl fid 為文件句柄,若缺省,則將變量的值輸出到屏幕上l format 用來指定數(shù)據(jù)輸出時采用的格式,常見的有 %e ( 采用科學計算形式 ) %f ( 采用浮點數(shù)形式 ) %g ( 由系統(tǒng)自動選取上述兩種格式之一) %s ( 輸出字符串) l format 中還可以使用一些特殊格式,如:n ( 換行 ) t ( 制表符 ) b ( 退格 ) ( 反斜桿 )

7、 % ( 百分號 ) 第13頁/共40頁3.2 控制流例:l format 中的輸出格式要與輸出變量一一對應(yīng)l 可以沒有輸出變量例:第14頁/共40頁3.2 控制流u 四)程序的暫停:pausepause 或 pause(n)若想強行終止程序的運行,可以使用 Ctrl+c其中 n 是延遲時間,單位為秒;等待n秒鐘后再執(zhí)行若缺省,則將暫停程序,直到用戶按任意鍵后繼續(xù)l pause off 屏蔽程序中所有 pause 的作用l pause on 打開 pause 的作用第15頁/共40頁3.2 控制流 二.選擇結(jié)構(gòu)選擇結(jié)構(gòu) 是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語句。Matlab 用于實現(xiàn)選

8、擇結(jié)構(gòu)的語句有 if 語句和 switch 語句。if else endswitch otherwise end第16頁/共40頁3.2 控制流u 一)if條件語句l 1.單分支結(jié)構(gòu)if expression (條件) statements (語句組)endif expression (條件) statements1(語句組1)else statements2(語句組2)endl 2.雙分支結(jié)構(gòu)第17頁/共40頁3.2 控制流if expression1 (條件1) statements1(語句組1)elseif expression2 (條件2) statements2(語句組2) . .

9、elseif expressionm (條件m) statementsm(語句組m)else statements(語句組)endl 3.多分支結(jié)構(gòu)第18頁/共40頁3.2 控制流例:輸入一個字符,若為大寫字母,則輸出其后繼字符;若為小寫字母,則輸出其前導字符;若為其它字符則原樣輸出。第19頁/共40頁3.2 控制流u 二)switch 條件語句l 1.根據(jù)表達式的不同取值,分別執(zhí)行不同的語句。switch expression (表達式) case value1 (值1) statement1(語句組1) case value2 (值2) statement2(語句組2) . . case

10、valuem (值m) statementm(語句組m) otherwise statement (語句組m+1)end第20頁/共40頁3.2 控制流l2. Matlab 首先計算 expression 的值,然后將它依次與各個 case 指令后的檢測值進行比較,當比較結(jié)果為真時,就執(zhí)行相應(yīng)的語句組,然后跳出 switch 結(jié)構(gòu)。l5. switch 后面的表達式 expression 的值可以是一個標量或字符串。l 4.otherwise 指令可以不出現(xiàn)。l 3.如果所有的比較結(jié)果都為假,則執(zhí)行 otherwise 后面的語句組,然后跳出 switch 結(jié)構(gòu)。第21頁/共40頁3.2 控制

11、流例:根據(jù)變量num的值來決定顯示的內(nèi)容。第22頁/共40頁3.2 控制流 三.循環(huán)結(jié)構(gòu)for-end 循環(huán)while-end 循環(huán)循環(huán)結(jié)構(gòu) 是按照給定的條件,重復執(zhí)行指定的語句。Matlab 用于實現(xiàn)循環(huán)結(jié)構(gòu)的語句有 for 語句和 while 語句第23頁/共40頁3.2 控制流u 一)for循環(huán)語句for variable=表達式1:表達式2:表達式3 statement(循環(huán)體語句)end循環(huán)變量l 表達式1的值為循環(huán)變量的初值;l 表達式2的值為步長,步長為1時,表達式2可以省略l表達式3的值為循環(huán)變量的終值第24頁/共40頁3.2 控制流例:已知 值 ,當 n=100 時,求 y

12、的值 12151311ny第25頁/共40頁3.2 控制流u 二)while 循環(huán)語句while expression (條件) statementA(循環(huán)體)endl 如果預先就知道循環(huán)的次數(shù),則可以采用 for 循環(huán);否則,如果預先無法確定循環(huán)的次數(shù),則可以使用 while 循環(huán)。判判斷斷表表達達式式是是否否滿滿足足?滿滿足足( (Y Y) )不不滿滿足足( (N N) )條條件件執(zhí)執(zhí)行行結(jié)結(jié)束束語語句句組組A Awhileend第26頁/共40頁3.2 控制流例:計算 Matlab 中 eps 值l 這個例子給出了計算 eps 的一種方法。第27頁/共40頁3.2 控制流u三) 循環(huán)的嵌

13、套l 如果一個循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個循環(huán)結(jié)構(gòu),就稱為循環(huán)的嵌套,或稱為多重循環(huán)結(jié)構(gòu)。l 多重循環(huán)的嵌套層數(shù)可以是任意的。 l 可以按照嵌套的層數(shù),分別叫做二重循環(huán),三重循環(huán)等。l 處于內(nèi)部的循環(huán)叫內(nèi)循環(huán),處于外部的循環(huán)叫外循環(huán)。 第28頁/共40頁3.2 控制流例:求100-200之間的素數(shù)第29頁/共40頁3.2 控制流 四.其它控制流語句u 一)break 和 continuel break 語句用于終止循環(huán)的執(zhí)行,即跳出最內(nèi)層循環(huán) l continue 語句用于結(jié)束本次循環(huán),進行下一次循環(huán) l break 和 continue 一般與 if 語句配合使用u 二)returnl ret

14、urn 語句用于退出正在運行的腳本或函數(shù),通常用在函數(shù)文件中。第30頁/共40頁3.3 M 文件 一.用 Matlab 語言編寫的程序稱為 M 文件。 二.M 文件以 .m 為擴展名。 三.新建一個 M 文件u 菜單操作 ( File New M-File )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 ) 四.打開已有的 M 文件u 菜單操作 ( File Open )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 )u 雙擊 M 文件 第31頁/共40頁3.3 M 文件第32頁/共40頁3.3 M 文件 五.M 文件根據(jù)調(diào)用方式的不同可以分為兩類:

15、u一) Script:命令文件(腳本文件)l 命令文件是一系列命令,語句的簡單組合。l運行方式一:在MATLAB的命令窗口中運行:在MATLAB的命令窗中鍵入此程序的文件名后,系統(tǒng)就開始執(zhí)行文件中的程序l運行方式二:在編輯窗口中運行:Debug-Run第33頁/共40頁3.3 M 文件例1:編寫一個腳本文件來判斷字符u 步驟一:新建一個 M 文件 sam.m,內(nèi)容如下:第34頁/共40頁3.3 M 文件u 步驟二:在命令窗口中輸入 sam,即可執(zhí)行該 M 文件。腳本文件運行后,文件中所產(chǎn)生的所有變量都駐留在 Matlab 當前工作空間,可以用 whos 查看。第35頁/共40頁3.3 M 文件例2:對某地給水管網(wǎng)D=200mm以上的管徑進行了單位造價的綜合分析,得到管徑與單位造價如表所示,請給出管徑與單位造價的關(guān)系模型及曲線。管徑管徑D(mm)200250300350400450500單價單價C(元(元/m)82.9102.1120.69140.78166.15229.08257.21管徑管徑D(mm)600700800900100011001200單價單價C(元(元/m)324.17377.87452.46517.4659.19747.94854.47第36頁/共40頁3.3 M 文件u 步驟一:新建

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論