![哈工大結(jié)構(gòu)力學(xué)ch02 m文件與matlab程序設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/14/6ea5ea48-baf0-4042-84b5-ae8c4e6e2067/6ea5ea48-baf0-4042-84b5-ae8c4e6e20671.gif)
![哈工大結(jié)構(gòu)力學(xué)ch02 m文件與matlab程序設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/14/6ea5ea48-baf0-4042-84b5-ae8c4e6e2067/6ea5ea48-baf0-4042-84b5-ae8c4e6e20672.gif)
![哈工大結(jié)構(gòu)力學(xué)ch02 m文件與matlab程序設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/14/6ea5ea48-baf0-4042-84b5-ae8c4e6e2067/6ea5ea48-baf0-4042-84b5-ae8c4e6e20673.gif)
![哈工大結(jié)構(gòu)力學(xué)ch02 m文件與matlab程序設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/14/6ea5ea48-baf0-4042-84b5-ae8c4e6e2067/6ea5ea48-baf0-4042-84b5-ae8c4e6e20674.gif)
![哈工大結(jié)構(gòu)力學(xué)ch02 m文件與matlab程序設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/14/6ea5ea48-baf0-4042-84b5-ae8c4e6e2067/6ea5ea48-baf0-4042-84b5-ae8c4e6e20675.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)用交互式的方式來編寫程序適用于命令行比較簡用交互式的方式來編寫程序適用于命令行比較簡單,輸入比較方便,同時處理的問題步驟較少的單,輸入比較方便,同時處理的問題步驟較少的情況。情況。當需要處理重復(fù)、復(fù)雜且容易出錯的問題時,可當需要處理重復(fù)、復(fù)雜且容易出錯的問題時,可以進行控制流的程序設(shè)計,這就是以進行控制流的程序設(shè)計,這就是m文件的編程文件的編程工作方式。工作方式。溫州大學(xué)本
2、科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)matlab 的控制流語言的控制流語言變量和函數(shù)的種類變量和函數(shù)的種類了解程序的調(diào)試和優(yōu)化了解程序的調(diào)試和優(yōu)化溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)m文本編輯器的基本知識文本編輯器的基本知識matlab 的控制流語言的控制流語言變量和函數(shù)的種類變量和函數(shù)的種類程序設(shè)計的輔助函數(shù)程序設(shè)計的輔助函數(shù)程序的調(diào)試和優(yōu)化程序的調(diào)試和優(yōu)化溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大
3、學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) m文本編輯器文本編輯器 m文件的基本屬性文件的基本屬性 m文件的組成部分文件的組成部分 腳本式腳本式m文件文件 函數(shù)式函數(shù)式m文件文件 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教
4、學(xué)m文件的語法類似于一般高級語言,是一種程序文件的語法類似于一般高級語言,是一種程序化的編程語言,但是,與傳統(tǒng)的高級語言相比,化的編程語言,但是,與傳統(tǒng)的高級語言相比,m文件又有自己的特點。文件又有自己的特點。它只是一個簡單的它只是一個簡單的asc型碼文本文件,因此,型碼文本文件,因此,它的語法比一般的高級語言要簡單,程序也容易它的語法比一般的高級語言要簡單,程序也容易調(diào)試,并且有很好的交互性。調(diào)試,并且有很好的交互性。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) m文件有兩種,一種為腳本式文件有兩種,一種為腳本式(scrip
5、t),一種為函,一種為函數(shù)式數(shù)式(function) 。函數(shù)函數(shù)m文件必須滿足一些標準,另外,它們還應(yīng)文件必須滿足一些標準,另外,它們還應(yīng)該滿足一些該滿足一些matlab 的屬性。主要有以下幾的屬性。主要有以下幾點:點:。實際上,。實際上,matlab 忽略了第忽略了第一行的函數(shù)名,并且根據(jù)存儲在硬盤上的文一行的函數(shù)名,并且根據(jù)存儲在硬盤上的文件名來執(zhí)行函數(shù)。件名來執(zhí)行函數(shù)。 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 函數(shù)式函數(shù)式m文件的組成部分。文件的組成部分。調(diào)出調(diào)出m-edit窗口,在里邊輸入如下內(nèi)容:窗口,在里邊輸
6、入如下內(nèi)容:function f = fact(n) %函數(shù)的定義行函數(shù)的定義行% compute a factorial value. %h1行行% fact(n) returns the factorial of n, %幫助文本幫助文本% usually denoted by n!% put simply, fact(n) is prod(1:n). %注釋注釋f = prod(1:n); % 函數(shù)體函數(shù)體溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) m文件的組成部分及其功能文件的組成部分及其功能 組組 成成 部部 分分
7、描描 述述函數(shù)定義行函數(shù)定義行(僅限于僅限于函數(shù)式函數(shù)式m文件文件)定義函數(shù)名,以及輸入和輸出變量的數(shù)定義函數(shù)名,以及輸入和輸出變量的數(shù)目和順序目和順序h1 行行h1行對程序進行概括性的描述,使用行對程序進行概括性的描述,使用help和和lookfor命令都可以調(diào)出此行命令都可以調(diào)出此行幫助文本幫助文本這是比這是比h1 行更詳細的幫助信息,使用行更詳細的幫助信息,使用help命令時與命令時與h1行一起顯示行一起顯示函數(shù)體函數(shù)體函數(shù)體是函數(shù)體是m文件的主要部分,程序的計文件的主要部分,程序的計算和設(shè)計都在此實現(xiàn)算和設(shè)計都在此實現(xiàn)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算
8、溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)用戶可以將需要重復(fù)輸入的所有命令按順序放到用戶可以將需要重復(fù)輸入的所有命令按順序放到一個擴展名為一個擴展名為m的文本文件下,每次運行時只要的文本文件下,每次運行時只要輸入該輸入該m文件的文件名即可。文件的文件名即可。用戶自己創(chuàng)建的用戶自己創(chuàng)建的m文件的文件名要避免與文件的文件名要避免與matlab 的內(nèi)置函數(shù)和工具箱中的函數(shù)重名,以的內(nèi)置函數(shù)和工具箱中的函數(shù)重名,以免發(fā)生內(nèi)置函數(shù)被替換的情況。免發(fā)生內(nèi)置函數(shù)被替換的情況。 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)本腳本式本腳本式m
9、文件繪制一個正弦曲線:文件繪制一個正弦曲線: %此文件用于繪制【此文件用于繪制【2pi,2pi】區(qū)間的正】區(qū)間的正弦曲線圖弦曲線圖x=-2*pi:0.05:2*pi;y=sin(x);plot(x,y,c+)legend(正弦曲線圖正弦曲線圖)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)函數(shù)式函數(shù)式m文件一般都要自帶參數(shù),并且有返回結(jié)文件一般都要自帶參數(shù),并且有返回結(jié)果果 。函數(shù)式函數(shù)式m文件的第一行都是以文件的第一行都是以function開始,說明開始,說明此文件是一個函數(shù)此文件是一個函數(shù)。函數(shù)式函數(shù)式m文件中的變量都不文件
10、中的變量都不是全局變量是全局變量,僅在函數(shù)運行期間有效,函數(shù)運行,僅在函數(shù)運行期間有效,函數(shù)運行完畢之后,它所定義的變量將從工作區(qū)間中清除。完畢之后,它所定義的變量將從工作區(qū)間中清除。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科
11、生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),用戶在編寫好程順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),用戶在編寫好程序之后,系統(tǒng)將按照程序的物理位置順次執(zhí)行。序之后,系統(tǒng)將按照程序的物理位置順次執(zhí)行。 a=1;b=2;c=3;s1=a+bs2=s1+cs3=s2/s2溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 只有一種選擇時的情況只有一種選擇時的情況 。最簡單的。最簡單的if-else-end結(jié)構(gòu)是:結(jié)構(gòu)是: i
12、f 表達式表達式執(zhí)行語句執(zhí)行語句end 如果在表達式中的所有元素為真如果在表達式中的所有元素為真(非零非零),那么就,那么就執(zhí)行執(zhí)行if和和end語言之間的語言之間的commands 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)有有3種或種或3種以上選擇時的情況種以上選擇時的情況 if expression
13、1 commands evaluated if expression1 is true elseif expression2 commands evaluated if expression2 is true elseif expression3 commands evaluated if expression3 is true elseif expression4 commands evaluated if expression4 is true elseif else commands evaluated if no other expression is true end溫州大學(xué)本科生課
14、程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)switch開關(guān)語句開關(guān)語句 可代替系列可代替系列if-elseif-else-end結(jié)構(gòu)結(jié)構(gòu) case條件語句,條件語句, 執(zhí)行語句,執(zhí)行語句,執(zhí)行語句,執(zhí)行語句 case 條件語句條件語句1,條件語句,條件語句2, 條件語句條件語句3, 執(zhí)行語句,執(zhí)行語句,執(zhí)行語句,執(zhí)行語句
15、 otherwise, 執(zhí)行語句,執(zhí)行語句,執(zhí)行語句,執(zhí)行語句 end溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) try-catch模塊提供了一種錯誤捕獲機制。換句話模塊提供了一種錯誤捕獲機制。換句話說,利用說,利用try-catch模塊,模塊,matlab 編譯系統(tǒng)發(fā)現(xiàn)編譯系統(tǒng)發(fā)現(xiàn)的錯誤將被其捕獲,用戶可以控制的錯誤將被其捕獲,用戶可以控制matlab 怎樣怎樣對發(fā)生的錯誤進行處理。對發(fā)生的錯誤進行處理。 try 執(zhí)行語句執(zhí)行語句1catch執(zhí)行語句執(zhí)行語句 2end溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程
16、中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)y = columns 1 through 7 0 -0.5064 0.9300 -0.8027 -0.1425 -0.9765 -0.5118 columns 8 through 11 0.8586 -0.9957 0.9917 0.9287n = 1.0e+012 * columns 1 through 7 0 0
17、.1000 0.2000 0.3000 0.4000 0.5000 0.6000 columns 8 through 11 0.7000 0.8000 0.9000 1.0000可以利用break命令跳出for循環(huán)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 與與for循環(huán)不同,循環(huán)不同,while循環(huán)的判
18、斷控制可以是邏輯循環(huán)的判斷控制可以是邏輯判斷語句,因此,判斷語句,因此,它的循環(huán)次數(shù)可以是一個不定它的循環(huán)次數(shù)可以是一個不定數(shù)。這樣就賦予了它比數(shù)。這樣就賦予了它比for循環(huán)更廣泛的用途。循環(huán)更廣泛的用途。 while表達式表達式執(zhí)行語句執(zhí)行語句end溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)與與for循環(huán)以固定次數(shù)求一組命令的值相反,循環(huán)以固定次數(shù)求一組命令的值相反,while 循環(huán)以不定的次數(shù)求一組語句的值。循環(huán)以不定的次數(shù)求一組語句的值。while循環(huán)的一般形式是:循環(huán)的一般形式是: while expression
19、commands end只要在表達式里的所有元素為真,就執(zhí)行只要在表達式里的所有元素為真,就執(zhí)行while和和end 語句之間的語句之間的commands。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) num=0;eps=1; while (1+eps)1 eps=eps/2; num=num+1; end num num = 53 eps=2*eps eps = 2.2204e-016溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科
20、生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 用 for 循環(huán)求 1200 之間的偶數(shù)之和。 編程:編程:total=0;for n=2:2:200 total=total+n;end溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)級數(shù)收斂性判定。級數(shù)收斂性判定。計算并顯示級數(shù)sn的項數(shù)n,sn如下:211nnnsn當收斂到終值s= 2/6的0.01%以內(nèi)時,項數(shù)n為多少?請編程計算
21、。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 終止命令終止命令break和和return 繼續(xù)命令繼續(xù)命令continue 等待用戶反應(yīng)命令等待用戶反應(yīng)命令pause 用戶輸入提示命令用戶輸入提示命令input 請求鍵盤輸入命令請求鍵盤輸入命令keyboard 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的
22、數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 與其他語言一樣,與其他語言一樣,matlab 的變量有輸入變量、的變量有輸入變量、輸出變量和函數(shù)內(nèi)使用的變量之分,而函數(shù)也有輸出變量和函數(shù)內(nèi)使用的變量之分,而函數(shù)也有主函數(shù)、局部函數(shù)和子函數(shù)之分,本節(jié)將介紹這主函數(shù)、局部函數(shù)和子函數(shù)之分,本節(jié)將介紹這些不同種類變量和函數(shù)的特點。些不同種類變量和函數(shù)的特點。
23、溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 執(zhí)行函數(shù)執(zhí)行函數(shù) 容錯函數(shù)容錯函數(shù) 時間運算函數(shù)時間運算函數(shù) 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 執(zhí)行函數(shù)及其功能執(zhí)行函數(shù)及其功能 函函 數(shù)數(shù) 名名功功 能能 描描 述述assignin在在matlab 工作區(qū)間中分配變量工作區(qū)間中分配變量builtin外部加載調(diào)用內(nèi)置函數(shù)外部加載調(diào)用內(nèi)置函數(shù)eval字符串調(diào)用函數(shù)字符串調(diào)用函數(shù)evalc執(zhí)行執(zhí)行matlab 的表達式的表達式evalin計算工作區(qū)間中的表
24、達式計算工作區(qū)間中的表達式feval字符串調(diào)用字符串調(diào)用m文件文件run運行腳本文件運行腳本文件溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 程序設(shè)計的好壞在很大程度上取決于其容錯能程序設(shè)計的好壞在很大程度上取決于其容錯能力的大小。力的大小。 matlab 語言提供了相應(yīng)的報錯及警告函數(shù)語言提供了相應(yīng)的報錯及警告函數(shù)error、warning、lasterr、lastwarn以及以及errortrap on/off等,可以很方便地實現(xiàn)這方面的等,可以很方便地實現(xiàn)這方面的功能。功能。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)
25、值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 常用的時間控制函數(shù)及其功能常用的時間控制函數(shù)及其功能 函函 數(shù)數(shù) 名名功功 能能 描描 述述clock以向量的形式顯示當前的時間和日期以向量的形式顯示當前的時間和日期date以字符型顯示當前的日期以字符型顯示當前的日期now以數(shù)值型顯示當前的時間和日期以數(shù)值型顯示當前的時間和日期calendar顯示當月的日歷表顯示當月的日歷表weekday顯示當前日期對應(yīng)的星期表達顯示當前日期對應(yīng)的星期表達eomday給出指定年月的當月最后一天給出指定年月的當月最后一天datetick指定坐標軸的日期表達形式指定坐標軸的日期表達形式datev
26、ec轉(zhuǎn)換為向量形式顯示日期轉(zhuǎn)換為向量形式顯示日期溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) tic:計時的開始:計時的開始 toc:計時的結(jié)束:計時的結(jié)束 (兩個函數(shù)配合使用)(兩個函數(shù)配合使用)tic start a stopwatch (秒表)timer. the sequence of commandstic, operation, toc prints the number of seconds required for the operation.toc read the stopwatch timer. toc,
27、 by itself, prints the elapsed time (in seconds) since tic was used. t = toc; saves the elapsed time in t, instead of printing it out.溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)for n=1:100a=rand(n,n);b=rand(n,1);ticx=ab;t(n)=toc;endplot(t)t=toct = 44.0160溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值
28、計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) cputime函數(shù)返回從調(diào)用該函數(shù)起所用的總的函數(shù)返回從調(diào)用該函數(shù)起所用的總的cpu時間,單位以秒計算。時間,單位以秒計算。cputime cpu time in seconds.cputime returns the cpu time in seconds that has been used by the matlab process since matlab started. 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué)t=cputime;a=magic(4)*rand(
29、4)a = 8.2387 10.6807 31.7618 6.7995 8.4032 6.9841 27.3817 13.8630 8.1096 8.3133 29.6338 10.0430 9.1195 6.6930 25.0056 18.2593e=cputime-te = 43.6410溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 程序的調(diào)試程序的調(diào)試 程序的錯誤種類程序的錯誤種類 錯誤的識別和程序調(diào)試錯誤的識別和程序調(diào)試 程序的優(yōu)化程序的優(yōu)化 程序優(yōu)劣的分析程序優(yōu)劣的分析 程序優(yōu)化的技巧程序優(yōu)化的技巧 有效地使用內(nèi)存有
30、效地使用內(nèi)存 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 在在matlab 的表達式中可能存在兩種類型的錯誤,的表達式中可能存在兩種類型的錯誤,即語法錯誤和運行錯誤即語法錯誤和運行錯誤 : 語法錯誤發(fā)生在語法錯誤發(fā)生在m文件程序代碼的生成過程中,一文件程序代碼的生成過程中,一般是由函數(shù)參數(shù)輸入類型有誤或是矩陣運算階數(shù)不般是由函數(shù)參數(shù)輸入類型有誤或是矩陣運算階數(shù)不符等引起。符等引起。 運行錯誤一般指在程序運行過程中,出現(xiàn)溢出或是運行錯誤一般指在程序運行過程中,出現(xiàn)溢出或是死循環(huán)等異?,F(xiàn)象。死循環(huán)等異?,F(xiàn)象。 溫州大學(xué)本科生課程
31、溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 對于簡單的問題,使用下面的一種或幾種方法可以方便地對于簡單的問題,使用下面的一種或幾種方法可以方便地求解:求解: 將函數(shù)中輸出關(guān)鍵值的行的分號將函數(shù)中輸出關(guān)鍵值的行的分號(;)去掉去掉,這樣,這些,這樣,這些運算的中間結(jié)果將在命令窗口中予以顯示,用戶可以運算的中間結(jié)果將在命令窗口中予以顯示,用戶可以據(jù)此來檢查中間結(jié)果的正確性。據(jù)此來檢查中間結(jié)果的正確性。 在函數(shù)中添加一些語句在函數(shù)中添加一些語句,用來顯示用戶認為很重要的,用來顯示用戶認為很重要的變量的值。變量的值。 使用使用keyboard命令中斷
32、程序命令中斷程序,該命令實現(xiàn)函數(shù)工作區(qū),該命令實現(xiàn)函數(shù)工作區(qū)間和命令窗口工作區(qū)間的交互,從而獲得用戶所需要間和命令窗口工作區(qū)間的交互,從而獲得用戶所需要的信息,使用該命令后,程序?qū)⑻幱谡{(diào)試狀態(tài),此時的信息,使用該命令后,程序?qū)⑻幱谡{(diào)試狀態(tài),此時命令窗口的提示符由命令窗口的提示符由“”變?yōu)樽優(yōu)椤発”,用戶可以進,用戶可以進行相應(yīng)的操作。行相應(yīng)的操作。 在函數(shù)頭前加在函數(shù)頭前加“%”,這樣就將函數(shù)式,這樣就將函數(shù)式m文件變?yōu)槟_本文件變?yōu)槟_本式式m文件,而腳本式文件,而腳本式m文件運行時,其工作區(qū)間就是文件運行時,其工作區(qū)間就是matlab 的工作區(qū)間,這樣在出現(xiàn)錯誤的時候就可以的工作區(qū)間,這樣在出
33、現(xiàn)錯誤的時候就可以查詢這個工作區(qū)間。查詢這個工作區(qū)間。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 錯誤識別函數(shù)及其功能錯誤識別函數(shù)及其功能 函函 數(shù)數(shù) 名名 功功 能能 描描 述述在函數(shù)運行時顯示代碼在函數(shù)運行時顯示代碼disp顯示特定的值或信息顯示特定的值或信息sprintf&fprintf 顯示不同格式和類型的數(shù)據(jù)顯示不同格式和類型的數(shù)據(jù)whos列出工作區(qū)間的所有變量列出工作區(qū)間的所有變量size顯示矩陣的維數(shù)顯示矩陣的維數(shù)keyboard中斷程序運行,允許用戶從鍵盤進行交互中斷程序運行,允許用戶從鍵盤進行交互操
34、作操作return回復(fù)回復(fù)keyboard命令后函數(shù)的運行命令后函數(shù)的運行warning顯示特定的警告信息顯示特定的警告信息error顯示特定的錯誤信息顯示特定的錯誤信息溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 程序斷點的設(shè)置程序斷點的設(shè)置 函 數(shù)描 述dbstop用于在用于在m文件中設(shè)置斷點文件中設(shè)置斷點dbstatus顯示斷點信息顯示斷點信息dbtype顯示顯示m文件文本文件文本dbstep該函數(shù)用于從斷點處繼續(xù)執(zhí)行該函數(shù)用于從斷點處繼續(xù)執(zhí)行m文件文件dbstack顯示顯示m文件執(zhí)行時調(diào)用的堆棧文件執(zhí)行時調(diào)用的堆棧db
35、up/dbdowm實現(xiàn)工作區(qū)間的切換實現(xiàn)工作區(qū)間的切換dbquit結(jié)束調(diào)試狀態(tài)結(jié)束調(diào)試狀態(tài)溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 在在matlab 語言中,使用語言中,使用profile函數(shù)以及計時函函數(shù)以及計時函數(shù)數(shù)tic和和toc來分析程序中各個部分的耗時情況,從來分析程序中各個部分的耗時情況,從而幫助用戶找出程序中需要改進的地方。而幫助用戶找出程序中需要改進的地方。 其中其中profile在計算相對耗時以及查找文件執(zhí)行過在計算相對耗時以及查找文件執(zhí)行過程中瓶頸問題時更為有效程中瓶頸問題時更為有效,而,而tic和和t
36、oc函數(shù)在計算函數(shù)在計算絕對耗時時更為有效。絕對耗時時更為有效。 溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 程序的向量化操作程序的向量化操作 循環(huán)運算是循環(huán)運算是matlab中的最大弱點中的最大弱點,在程序設(shè),在程序設(shè)計中,應(yīng)當盡量避免使用循環(huán)運算。用戶可以計中,應(yīng)當盡量避免使用循環(huán)運算。用戶可以通過將通過將m文件向量化來優(yōu)化文件向量化來優(yōu)化m文件,所謂向量文件,所謂向量化就是使用向量和矩陣運算來代替化就是使用向量和矩陣運算來代替for循環(huán)和循環(huán)和while循環(huán)。循環(huán)。 數(shù)據(jù)的預(yù)定義數(shù)據(jù)的預(yù)定義 使用使用for循環(huán)和循環(huán)和
37、while循環(huán)來增加數(shù)據(jù)結(jié)構(gòu)的大循環(huán)來增加數(shù)據(jù)結(jié)構(gòu)的大小時,將影響系統(tǒng)和內(nèi)存的使用。提高效率的小時,將影響系統(tǒng)和內(nèi)存的使用。提高效率的可行辦法是進行預(yù)定義??尚修k法是進行預(yù)定義。溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 就是使用向量和矩陣運算來代替就是使用向量和矩陣運算來代替for循環(huán)和循環(huán)和while循循環(huán)。環(huán)。t1=cputime;i=0;for t=0:.01:2000 i=i+1; y(i)=sin(t);endt=cputime-t1t =t1=cputime;t=0:.01:2000;y=sin(t);t=cputime-t1t =溫州大學(xué)本科生課程溫州大學(xué)本科生課程工程中的數(shù)值計算工程中的數(shù)值計算溫州大學(xué)本科生課程教學(xué)溫州大學(xué)本科生課程教學(xué) 對可能出現(xiàn)變量維數(shù)不斷擴大的問題,應(yīng)當預(yù)先對可能出現(xiàn)變量維數(shù)不斷擴大的問題,應(yīng)當預(yù)先估計變量可能的最大維數(shù),進行
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版七年級數(shù)學(xué)上冊 3.3 《解一元一次方程》聽評課記錄1
- 人教版歷史七年級上冊第14課《溝通中外文明的“絲綢之路”》聽課評課記錄
- 現(xiàn)場電力服務(wù)合同(2篇)
- 生活設(shè)施租賃協(xié)議書(2篇)
- 新版湘教版秋八年級數(shù)學(xué)上冊第二章三角形課題已知邊角作三角形聽評課記錄
- 新版華東師大版八年級數(shù)學(xué)下冊《18.2平行四邊形的判定》聽評課記錄
- 湘教版數(shù)學(xué)八年級下冊4.3《一次函數(shù)的圖象》聽評課記錄1
- 魯人版道德與法治七年級下冊13.3《正視壓力 輕松前行》聽課評課記錄
- 2022年新課標八年級上冊歷史第3課太平天國運動聽課評課記錄
- 人教版九年級數(shù)學(xué)上冊22.2.1《二次函數(shù)與一元二次方程》聽評課記錄
- 裝修工程延期協(xié)議
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評估報告》專題警示學(xué)習
- 2024年09月北京中信銀行北京分行社會招考(917)筆試歷年參考題庫附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 2024年04月北京中信銀行北京分行社會招考(429)筆試歷年參考題庫附帶答案詳解
- 專項債券培訓(xùn)課件
- 《會務(wù)的組織和管理》課件
- 2024年公司領(lǐng)導(dǎo)在新年動員會上的講話樣本(3篇)
- 《倒虹吸管安全評價導(dǎo)則》
- 2025年中國濕度傳感器行業(yè)深度分析、投資前景、趨勢預(yù)測報告(智研咨詢)
評論
0/150
提交評論