




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西南科技大學本科生課程備課教案計算機技術在安全工程中的應用 Matlab入門及應用授課教師:徐中慧班 級:專 業:安全技術及工程第四章輸入、輸出課型:新授課 教具:多媒體教學設備,matlab教學軟件一、目標與要求掌握matlab中自定義輸入、輸出、圖形輸入的運用,以及在M文件中使用元胞模式以及從文件中讀寫數據。二、教學重點與難點本堂課教學的重點在于引導學生在編寫matlab程序時能夠熟練運用相關的輸入輸出函數實現相應的功能。三、教學方法 本課程主要通過講授法、演示法、練習法等相結合的方法來引導學生掌控本堂課的學習內容。四、教學內容一、課后習題的解說。(1)為了準確預報天氣情況,氣象學家對大氣
2、環境進行研究,由于數據量很大,天氣預報是非常復雜的過程。氣象學家需要了解化學、物理學、熱動力學、地理科學和關于大氣運動的專業知識。在天氣預報過程中,常常會用到克勞修斯克拉貝龍方程。在化學課程或熱動力學課程中對這個方程都有詳細的介紹。 在氣象學中,克勞修斯克拉貝龍方程確定了飽和水蒸氣壓強和大氣溫度的關系。若已知空氣中水蒸氣的壓強,就可以計算空氣的相對濕度,而天氣預報中的一個非常重要的參數就是相對濕度。克勞修斯克拉貝龍方程為:其中:溫度為T時,飽和水蒸汽的壓強,單位mbar=水蒸汽的相對潛熱,2.453×106J/kg=潮濕氣體的氣體常數,461J/kg是熱力學溫度,單位為K 地球表面溫
3、度一般在-600F到1200F之間。利用克勞修斯-克拉貝龍方程求出在這個溫度范圍內飽和氣體的壓強。結果用華氏溫度與飽和氣體壓強的對應表格的形式顯示出來。Eg: Hv=2.453e6;Rair=461;F=-60:10:120;T=(F+459.6)./1.8;P0=6.11*exp(Hv/Rair*(1/273-1./T)Result=T',P0'(2)設氣球受到豎直向下方向的重力為100N,豎直向上方向的浮力為200N,與水平線成30度角方向風的推力為50N,求氣球所受合力的大小和方向。思路:先求豎直方向的合力,再求水平方向的合力。豎直方向的合力 Fy200-100+50*s
4、ind(30);水平方向的合力 Fx50*cosd(30);a=atand(F1/F2)F=Fy/tand(a)二、引言 到目前為止,本課程介紹了兩種matlab的使用方法:一種是在命令窗口中直接輸入命令行,另一種是在編輯窗口中編寫簡單的腳本M文件。此時編程人員本身就是用戶。但對于較為復雜的matlab程序來說,編程人員和用戶很可能不是同一個人。為了避免求解相似問題時重復編寫代碼,要求程序給用戶提供輸入和輸出命令。Matlab提供了許多內置函數可以實現對程序的輸入/輸出控制,接下來將一一進行介紹。三、自定義輸入(1)input的基本應用假設已經編寫好一個腳本程序,并存為腳本M文件,編程人員和用
5、戶是同一個人。若要改變程序中輸入變量的值,就必須修改部分程序代碼。在通用的matlab程序中可以使用函數input,在程序運行過程中提示用戶從鍵盤輸入數據。 z=input(Enter a value)使用同樣的方法還可以輸入一維或二維矩陣,但用戶必須正確輸入括號和分界符(逗號或分號)。 z=input(Enter a value for z in brackets) brackets 方括號 (2)input還可以輸入字符型數組x=input('Enter your name in single quotes') single quotes單引號holly如果輸入信息是一個字
6、符串(在matlab中字符串就是字符型數組),則必須加上單引號。還有一種方法就是在input的第二個輸入參數中限定輸入為字符串:x=input(Enter your name,s) 練習物體在重力作用下做自由落體運動。計算自由落體運動的距離的公式為 其中,是自由下落的距離;是重力加速度;是下落的時間。由用戶輸入重力加速度g的值和時間矢量。問題描述:計算物體自由下落的距離,并畫出曲線Matlab程序 g=input(what is the value of acceleration due to gravity?);start=input(what starting time would you
7、 like?);finish=input(what ending time would you like?);incr=input(what time increments would you like calculated?);time=start:incr:finish; distance=1/2*g*time.2;plot(time,distance)title(Distance traveled in free fall)xlabel(time,s),ylabel(distance,m)final_distance=max(distance)四、輸出函數disp 在Matlab中,顯示
8、矩陣內容的方法有很多種。最簡單的方法是直接輸入后面不加分號的矩陣名,在命令窗口中顯示矩陣名稱,并在第二行顯示矩陣的值。 disp可以直接顯示矩陣的值:x=1:5x = 1 2 3 4 5disp(x) 1 2 3 4 5函數disp還可以顯示字符串(文本內容要用單引號)。disp('The values in the x matrix are:')The values in the x matrix are:每個顯示函數的顯示內容都單獨使用一行disp('The values in the x matrix are:');disp(x)The values in
9、 the x matrix are: 1 2 3 4 5可以使用函數num2str(數值到字符)可以把兩次輸出的內容合并成一個矩陣。這個過程稱為聯級。函數num2str可以把數值型數據轉換成字符型數據。在這個例子中,先用函數num2str把矩陣x轉換成字符型數組,然后再和第一個字符串合并成一個大的字符型數組。 注意:如果在字符串中包含引號,則要輸入兩個引號,否則matlab會把單引號看成是字符串的結束標志。使用引號的字符串如下:disp('The moon''s gravity is 1/6th that of the earth')The moon's
10、 gravity is 1/6th that of the earth利用函數input和disp模仿對話的案例disp('Hi');disp('I''m your Matlab program');name=input('Who are you?','s');disp('Hi',name);answer=input('Don''t you just love computers?','s');disp(answer,'?');disp
11、('Computers are very useful');disp('You''ll use them a lot in college!');disp('Good luck with your studies')pause(2);disp('Bye bye') 程序交互過程中用到了函數pause。如果函數pause沒有輸入參數,那么程序會中止運行,直到按任何鍵繼續。如果pause有輸入參數,則程序會根據輸入參數暫停數秒后繼續執行。五、格式 化輸出函數fprintf 函數fprintf的輸出格式比函數disp有更
12、嚴格的要求。除了能顯示文本信息和數據矩陣外。函數fprintf還可以指定數據的顯示格式。該函數的功能與C語言中的fprintf類似。 我們先看fprintf運用的一個例子cows=5;fprintf('There are %f cows in the pasture',cows)There are 5.000000 cows in the pasture 在上述代碼中,函數fprintf的第一個參數包含一個占位符(%)。占位符不但指定了輸出的格式,還表明了變量輸出的位置。程序代碼中的%f表明用定點數格式顯示變量cows的值。默認的格式為小數點后顯示6位數。相關類型域的格式類型域
13、結果%f定點格式%e指數格式%d十進制格式若顯示的數值是整數,則不包括尾部的0;若顯示的數值是小數,則以指數形式顯示%g以%f或%e中最緊湊形式顯示%c字符格式(每次顯示一個字符)%s字符串格式(顯示完整的字符串)Matlab在執行完函數fprintf后不會自動重起一行。前述的命令行執行完后,在命令窗口中命令提示符緊跟在函數輸出字符串的后面,并沒有另起一行。若再次執行其它命令,則兩次的輸出結果會在同一行中顯示出來。 cows=1:5;fprintf('There are %f cows in the pasture',cows) 如果需要分行顯示,則在字符串后使用n進行換行。c
14、ows=1:5; fprintf('There are %f cows in the pasturen',cows) There are 1.000000 cows in the pastureThere are 2.000000 cows in the pastureThere are 3.000000 cows in the pastureThere are 4.000000 cows in the pastureThere are 5.000000 cows in the pasture特殊格式命令格 式 命 令功 能n換行r回車(和換行類似)t表格b退格width fi
15、eld 和 presicion field使用可選項width field和presicion field可以控制數據輸出寬度和精度。width field必須是正的十進制整數,用于控制字符顯示的最小寬度。presicion field必須以點(.)開始,用于確定指數或定點數中小數點后的數字位數。例如,%8.2說明字符顯示的最小寬度是8位,小數點后有兩位數字。cows=1:5;fprintf('There are %5.2f cows in the pasturen',cows)There are 1.00 cows in the pastureThere are 2.00 c
16、ows in the pastureThere are 3.00 cows in the pastureThere are 4.00 cows in the pastureThere are 5.00 cows in the pasture如果變量是二維矩陣,那么Matlab會按列重復執行fprintf命令。先輸出第一列,然后是第二列,依次類推。feet=1:3;inches=feet.*12;把上面兩個矩陣合并成一個矩陣table=feet;inches;fprintf(%4.0f %7.2f n,table)函數fprintf除了可以嚴格控制格式化輸出數據外,函數fprintf還可以把數據
17、輸出到文件中。首先建立輸出文件,然后用函數fopen打開該文件,同時給打開的文件分配一個文件標識符(即文件的別名)。 file_id=fopen(my_output_file,wt) 其中,函數fopen的第一個輸入參數是要打開的文件名。第二個輸入參數是字符串wt,表示要對文件進行寫的操作。如果能夠正確打開這個輸出文件,并且已經給該文件分配了文件標識符,就可以把這個文件標識符作為函數fprintf的第一個輸入參數按照指定的格式把數據寫入到文件中: fprintf(file_id,some example output is %4.2f n,pi*1000) 這種函數格式將下列字符串寫入文件my
18、_output_file中。 Some example output is 3141.29 并且在命令窗口返回寫入數據的字節數: ans=32練習:如何將上述實例的結果寫入到指定txt文件中。cows=1:5; myfile=fopen('result.txt','wt') fprintf(myfile,'There are %5.2f cows in the pasturen',cows) 注意: 在使用fprintf時,初學者常犯的錯誤是忘記在占位符后輸入域類型標識,如f,這樣函數將不會正常工作,而且還不會給出錯誤提示。 若函數fprintf語句中包含百分號%,則需要輸入兩次%,其中第一個百分號%為占位符。 fprintf(The interest rate is %5.2f % n,5) 輸出 The interest rate is 5.00%六、圖形輸入在Matlab中,允許以圖形的方式輸入坐標x和y的值。命令ginput允許用戶在圖形窗口中任選一點,并將該點的位置轉換成確切的x和y坐標值。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關注行業發展熱點的2025年市場營銷理論考試試題及答案
- 2025年醫學專業執業考試試卷及答案
- 2025年心理測量與評估方法綜合考核試題及答案
- 2025年現代藝術與文化創新的考試試題及答案
- 2025年心理咨詢師資格考試試卷及答案
- 2025年水資源管理與保護課程考試卷及答案
- 2025年人工智能與機器學習基礎試卷及答案
- 北師大版(2024)七年級下冊英語期末復習:Unit1~6語法練習100題(含答案)
- 2025年建筑設計基礎知識測試卷及答案
- 2025年建筑經濟與管理綜合能力考試試卷及答案
- 2025汾西礦業井下操作技能人員招聘300人(山西)筆試參考題庫附帶答案詳解析集合
- 2025餐廳管理與服務合同
- 2025年高考全國二卷英語高考真題
- 2025年全國“銀行業金融消費者權益保護”應知應會知識考試題與答案
- 2024年湖北省中考地理·生物試卷(含答案解析)
- 新高考志愿填報指導報考表
- 第二講:黔東南州優勢礦產資源
- 康復醫院的設計要點精選
- 10kv高壓架空電線防護方案概述
- 空調維保方案及報價(共3頁)
- 石油化工管道施工方案
評論
0/150
提交評論