




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2025年2月4日第1頁第6章MATLAB編程MATLAB基礎教程(第六版)(微課版)教學目標教學內(nèi)容2025年2月4日第2頁教學目標掌握MATLAB的腳本文件及其編輯和調(diào)試方法掌握MATLAB的程序設計和開發(fā)流程掌握MATLAB關系運算、邏輯運算及函數(shù)操作掌握MATLAB中的流程控制語句了解MATLAB的程序調(diào)試方法2025年2月4日第3頁教學內(nèi)容腳本文件和編輯器程序設計和開發(fā)關系運算符和邏輯變量邏輯運算符和函數(shù)條件語句循環(huán)switch結構調(diào)試MATLAB程序2025年2月4日第4頁腳本文件和編輯器(1/11)在MATLAB中,用戶可以使用兩種方法執(zhí)行運算:
(1)在交互模式下,直接在命令窗口中輸入所有的命令。
(2)通過運行腳本文件中所存儲的MATLAB程序。2025年2月4日第5頁腳本文件和編輯器(2/11)創(chuàng)建和使用腳本文件2025年2月4日第6頁腳本文件和編輯器(3/11)有效使用腳本文件
(1)腳本文件名必須滿足MATLAB為變量命名的約定。(2)為腳本文件賦予的名稱不要與其所計算的變量名稱相同。(3)為腳本文件賦予的名稱要與MATLAB命令或者函數(shù)的名稱都不相同。(4)在交互模式中,腳本文件所創(chuàng)建的所有變量都是全局變量。(5)函數(shù)文件所創(chuàng)建的變量是該函數(shù)的局部變量。用戶如果不必訪問腳本文件中的所有變量,就需要考慮使用函數(shù)文件。這將避免用變量名“弄亂”工作空間,并將同時減少內(nèi)存需求。(6)在不使用文本編輯器打開M-文件的情況下,用戶可以使用type命令來查看文件的內(nèi)容。2025年2月4日第7頁腳本文件和編輯器(4/11)有效使用命令行窗口和編輯器用戶可以使用鼠標重新調(diào)整窗口的大小并移動窗口,從而可以同時查看它們。如果沒有進入編輯器,那么使用Alt-Tab組合鍵則可快速地在編輯器/調(diào)試器窗口和命令窗口之間來回切換。在命令窗口中,使用向上箭頭鍵檢索先前所輸入的腳本文件名,并且按Enter鍵執(zhí)行腳本文件。在修改了腳本文件之后,要確保在切換到命令窗口之前保存文件。用戶可以使用編輯器作為基本的文字處理器來編寫包含有用戶腳本文件、結果和討論的簡短報告,或者用以提供用戶對某一問題的解答。2025年2月4日第8頁腳本文件和編輯器(5/11)調(diào)試腳本文件程序調(diào)試就是找出和刪除程序中“故障”或者錯誤的過程。
(1)語法錯誤(2)運行時錯誤MATLAB錯誤消息通常使用戶能夠找到語法錯誤。檢查出運行時錯誤,可以嘗試以下方法:
(1)總是使用簡單問題(其可以通過手算來檢驗答案)來測試程序。
(2)刪除語句末尾的分號,用以顯示任何一個中間計算結果。
(3)使用編輯器的調(diào)試特性。2025年2月4日第9頁腳本文件和編輯器(6/11)編程風格注釋部分(1)
在第一行中放置程序名和任何關鍵詞。(2)在第二行中放置創(chuàng)建的日期,以及創(chuàng)建者的姓名。(3)
每個輸入和輸出變量的變量名定義。(4)
程序中調(diào)用的每個用戶自定義函數(shù)名稱。輸入部分:放置輸入數(shù)據(jù)和/或輸入函數(shù),其允許輸入數(shù)據(jù)。計算部分
:放置計算。
輸出部分:放置那些以所需格式傳遞的輸出函數(shù)。2025年2月4日第10頁腳本文件和編輯器(7/11)記錄度量單位本書建議用戶為所有的輸入變量和輸出變量記錄度量單位,因為很多工程系統(tǒng)所出現(xiàn)的驚人失敗都源于用戶誤解了用于設計系統(tǒng)的程序輸入和輸出變量的單位。2025年2月4日第11頁腳本文件和編輯器(8/11)使用腳本文件存儲數(shù)據(jù)可能會有一些應用程序要求用戶頻繁地訪問同一組數(shù)據(jù)。如果是這樣的話,用戶可以將數(shù)組中的數(shù)據(jù)存儲在一個腳本文件之中。2025年2月4日第12頁腳本文件和編輯器(9/11)控制輸入和輸出MATLAB為從用戶獲取輸入以及為格式化輸出(執(zhí)行MATLAB命令而獲得的結果)提供了許多有用的命令。
命
令說
明disp(A)顯示數(shù)組A的內(nèi)容,而不是數(shù)組的名稱disp(‘text’)顯示單引號內(nèi)部的文本串Format控制屏幕輸出的顯示格式Fprintf執(zhí)行格式化的寫入到屏幕或者寫入到一個文件x=input('text')顯示單引號中的文本,等待用戶的鍵盤輸入,并且將輸入值存儲在x中x=input('text','s')顯示單引號中的文本,等待用戶的鍵盤輸入,并且將輸入作為字符串存儲在x中k=menu('title','option1','option2',...顯示菜單,該菜單的名稱在字符串變量'title'中,并且菜單的選項是'option1'、'option2'等等2025年2月4日第13頁腳本文件和編輯器(10/11)用戶輸入input函數(shù)用以在屏幕上顯示文本,等待用戶從鍵盤輸入某些內(nèi)容,然后再將輸入內(nèi)容存儲在指定變量之中。2025年2月4日第14頁腳本文件和編輯器(11/11)腳本文件示例%程序Falling_Speed.m:繪制一個下落物體的速度圖形。%W.PalmIII于2004年3月1日創(chuàng)建。%%輸入變量:%tf=最終時間(單位為秒)%%輸出變量:%t=計算速度的時間數(shù)組(單位為秒)%v=速度數(shù)組(米/秒)%參數(shù)值:g=9.81;%以SI為單位的重力加速度%%輸入部分:tf=input('Enterthefinaltimeinseconds:');%%計算部分:dt=tf/500;t=[0:dt:tf];%創(chuàng)建一個有501個時間值的數(shù)組。v=g*t;%%輸出部分:plot(t,v),xlabel('Time(seconds)'),ylabel('Speed(meters/second)')2025年2月4日第15頁程序設計和開發(fā)(1/5)算法和控制結構(1)順序運算。(2)條件運算。(3)迭代運算(循環(huán))。
結構化程序設計(1)編寫結構化程序較容易。(2)為一個應用編寫的模塊(函數(shù))也可以用于其他的應用。(3)調(diào)試結構化程序較容易。(4)結構化程序設計在團隊環(huán)境中非常有效。(5)理解和修改結構化程序較容易。2025年2月4日第16頁程序設計和開發(fā)(2/5)自頂向下的設計和程序文檔(1)簡明地陳述問題(2)指定程序所使用的數(shù)據(jù)。這就是“輸入”(3)指定程序所產(chǎn)生的信息。這就是“輸出”(4)通過手算或者計算器完成解決方案的步驟。如果需要的話,可以使用一個較簡單的數(shù)據(jù)集(5)編寫和運行程序(6)用手算結果檢驗程序的輸出(7)用輸入數(shù)據(jù)運行程序,并且對輸出進行一個真實性檢驗(8)如果用戶在將來使用該程序作為一個通用工具,那么,用戶必須通過用一組合理的數(shù)據(jù)值來運行它以進行測試;并對結果進行一個真實性檢驗2025年2月4日第17頁程序設計和開發(fā)(3/5)自頂向下的設計和程序文檔結構圖和流程圖通過使用以下方法實現(xiàn)有效的文檔記錄。(1)合適地選擇變量名,用以反映它們所代表的量。(2)在程序中使用注釋。(3)使用結構圖。(4)使用流程圖。(5)通常在偽代碼中逐字地描述程序。2025年2月4日第18頁程序設計和開發(fā)(4/5)偽代碼
偽代碼是對實際計算機代碼的模仿。偽代碼可以為程序內(nèi)部的注釋提供根據(jù)。除了提供文檔記錄之外,偽代碼在編寫詳細代碼之前對于一個程序輪廓所進行的描述也很有用。查找故障參看6.1.4節(jié)2025年2月4日第19頁程序設計和開發(fā)(5/5)開發(fā)大型程序(1)編寫和測試各個模塊(單元測試階段)。(2)編寫使用模塊的頂級程序(構建階段)。(3)測試第一個完整的程序(alpha測試版階段)。(4)由內(nèi)部人員與熟悉和信任的外部用戶(這通常必須簽保密協(xié)議)測試最后的alpha測試版。2025年2月4日第20頁關系運算符和邏輯變量(1/4)6個關系運算符:
<小于,<=小于或者等于,>大于,
>=大于或者等于,==等于,~=不等于使用關系運算符進行比較的結果是0(如果比較是假)或者1(如果比較是真),并且MATLAB可以使用這個結果作為一個變量。用于比較數(shù)組時,關系運算符逐元素地比較數(shù)組。比較的數(shù)組必須具有相同的維數(shù)。唯一的例外是當用戶比較一個數(shù)組和一個標量的時候,這時MATLAB將數(shù)組中的所有元素分別與標量進行比較。關系運算符也可以用于數(shù)組尋址。算術運算符+、-、*、/和\的優(yōu)先級高于關系運算符。關系運算符之間的優(yōu)先級相等,并且MATLAB按照從左到右的順序計算它們的值。2025年2月4日第21頁關系運算符和邏輯變量(2/4)logical類當使用關系運算符(如x=(5>2))時,創(chuàng)建了一個邏輯變量(在此處就是x)。在MATLAB之前的版本中,logical是任何一個數(shù)值數(shù)據(jù)類型的屬性?,F(xiàn)在,logical是一個第一類數(shù)據(jù)類型和一個MATLAB類,所以logical現(xiàn)在等效于其他的第一類類型,如字符和單元數(shù)組。邏輯變量只可能有值1(真)和0(假)。2025年2月4日第22頁關系運算符和邏輯變量(3/4)logical函數(shù)用戶可以使用關系和邏輯運算符以及l(fā)ogical函數(shù)創(chuàng)建邏輯數(shù)組。logical函數(shù)返回一個可以用于邏輯索引和邏輯測試的數(shù)組。2025年2月4日第23頁關系運算符和邏輯變量(4/4)使用邏輯數(shù)組訪問數(shù)組當使用邏輯數(shù)組尋址另一個數(shù)組時,MATLAB會從那個數(shù)組中提取邏輯數(shù)組有1那個位置中的元素。2025年2月4日第24頁邏輯運算符和函數(shù)(1/2)MATLAB中有5個邏輯運算符,有時也稱為布爾(Boolean)運算符,這些運算符執(zhí)行逐元素運算。除了NOT運算符(~)之外,它們的優(yōu)先級比算術和關系運算符的都低。NOT運算&和|運算符與(AND)運算或(OR)運算異或函數(shù)2025年2月4日第25頁邏輯運算符和函數(shù)(2/2)短路邏輯運算符
A&&BA||B邏輯運算符和find函數(shù)函數(shù)find(x)計算一個數(shù)組,它包含數(shù)組x中那些非零元素的索引。它可與邏輯運算符結合使用。2025年2月4日第26頁條件語句(1/3)if語句
if語句的基本形式:
if邏輯表達式語句
end“嵌套”if語句
if邏輯表達式1
語句組1if邏輯表達式2
語句組2endend每條if語句必須伴隨有一條end語句。end語句標志著邏輯表達式為true時所要執(zhí)行語句的結束。if和邏輯表達式(其可以是一個標量、一個矢量或者一個矩陣)之間需要一個空格。2025年2月4日第27頁條件語句(2/3)else語句與elseif語句else語句的基本結構為:
if邏輯表達式語句組1else
語句組2end使用elseif語句的一般形式是:if邏輯表達式1語句組1elseif邏輯表達式2語句組2else語句組3end2025年2月4日第28頁條件語句(3/3)字符串和條件語句字符串是一個包含有字符的變量。字符串對于創(chuàng)建輸入提示符、消息、存儲以及對諸如姓名和地址等數(shù)據(jù)進行的操作都很有用。要在MATLAB創(chuàng)建一個字符串變量,可以將字符放在單引號中。字符串最重要的應用之一是:創(chuàng)建輸入提示和輸出消息。
2025年2月4日第29頁循環(huán)(1/4)for循環(huán)for循環(huán)的典型結構如下所示:
for循環(huán)變量=m:s:n
語句
end注意
for語句需要伴隨有一個end語句。end語句標志著所要執(zhí)行語句的結束。在for和loop變量(其可能是一個標量、一個矢量或者一個矩陣,但是到目前為止,標量是最常見的情況)之間需要一個空格。2025年2月4日第30頁循環(huán)(2/4)break和continue語句break語句停止循環(huán)的執(zhí)行。continue語句將把控制傳遞給那些它出現(xiàn)在其中的for或者while循環(huán)的下一次迭代之中,并同時跳過循環(huán)主體中的其他任何語句。在嵌套循環(huán)中,continue將控制傳遞給關閉了continue語句的for或者while循環(huán)的下一次迭代。2025年2月4日第31頁循環(huán)(3/4)使用數(shù)組作為循環(huán)索引
MATLAB中允許使用一個矩陣表達式為循環(huán)指定所執(zhí)行的遍數(shù)。在這種情況下,循環(huán)變量是一個矢量,并且在每一遍循環(huán)執(zhí)行期間,MATLAB都將循環(huán)變量設置成等效于矩陣表達式的連續(xù)列。
隱含循環(huán)使用邏輯數(shù)組作為掩碼通??梢酝ㄟ^使用邏輯數(shù)組作為掩碼(即,選擇另一個數(shù)組的元素)來避免使用循環(huán)和分支,用戶因此可以創(chuàng)建更簡單和更快捷的程序。2025年2月4日第32頁循環(huán)(4/4)while循環(huán)while循環(huán)的典型結構如下所示:
while邏輯表達式語句
end要使while循環(huán)正常運行,必須發(fā)生以下這兩個前提條件:
(1)在執(zhí)行while語句之前,循環(huán)變量必須有一個值。(2)語句必須以某種方式改變循環(huán)變量的值。while循環(huán)的主要應用是:當用戶希望只要某個語句為true時,循環(huán)就繼續(xù)進行。2025年2月4日第33頁switch結構(1/1)switch結構的語法是:
switch輸入表達式(標量或者字符串)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 后一格等于前一格的算式
- 2024年5月份《aoe》教學引力波模擬裝置概念
- 縱隔神經(jīng)源性腫瘤的健康宣教
- 網(wǎng)絡工程綜合技術選擇題100道及答案
- 體質(zhì)性低血壓的健康宣教
- 2025裝修施工合同模板
- 2025年陜西考從業(yè)資格證貨運試題
- 產(chǎn)后血栓性靜脈炎的健康宣教
- 血性胸水的健康宣教
- 2025年周口b2貨運上崗證模擬考試
- 老年防詐騙知識講座課件
- 湖北省部分高中聯(lián)考協(xié)作體2023-2024學年高二下學期期中考試物理試卷(含答案)
- 中學2021年秋季開學疫情防控工作方案及要求4篇
- DB33-T 1411-2024 水利工程文化融合導則
- 2024湖南省新華書店有限責任公司招聘10人筆試參考題庫附帶答案詳解
- 檔案管理制度培訓宣貫
- 農(nóng)機質(zhì)量跟蹤調(diào)查表
- 刑民交叉案件的司法認定
- 2025年度股權合作協(xié)議書新版:跨境電商平臺股權合作協(xié)議
- GB/T 33136-2024信息技術服務數(shù)據(jù)中心服務能力成熟度模型
- 《阿爾茨海默病康復》課件
評論
0/150
提交評論