matlab程序設(shè)計(jì)和應(yīng)用-1.ppt_第1頁(yè)
matlab程序設(shè)計(jì)和應(yīng)用-1.ppt_第2頁(yè)
matlab程序設(shè)計(jì)和應(yīng)用-1.ppt_第3頁(yè)
matlab程序設(shè)計(jì)和應(yīng)用-1.ppt_第4頁(yè)
matlab程序設(shè)計(jì)和應(yīng)用-1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、,MATLAB 程序設(shè)計(jì)與應(yīng)用,汪建軍,如 何 提 高 你 的 編 程 和 數(shù) 值 計(jì) 算 能 力,課程說(shuō)明,教材,學(xué)生,學(xué)時(shí)36時(shí) 1-12周,學(xué)分,1,MATLAB 系 統(tǒng) 環(huán) 境,1. MATLAB系統(tǒng)環(huán)境,系統(tǒng)環(huán)境,幫助系統(tǒng),MATLAB發(fā)展,開(kāi)發(fā)了Eispack軟件包 用于特征值的求解,開(kāi)發(fā)了Linpack軟件包 用于線性方程組的求解,MATLAB安裝,系統(tǒng)界面,MATLAB特點(diǎn),MATLAB功能,1970s美國(guó)新墨西哥州大學(xué)Cleve Moler,MATrix LABoratory,MATLAB,1. MATLAB系統(tǒng)環(huán)境,系統(tǒng)環(huán)境,幫助系統(tǒng),MATLAB發(fā)展,同Cleve Mol

2、er y=1./x; N=size(x),N=N(1,2); y1=y+rand(1,N); B=zeros(N,1)+1 x (x).2 (x).3 (x).4 (x).5 (x).6 ; L=y; parameter=inv(B*B)*B*L; parameter newy=B*parameter; figure plot(x,y,*); hold on; plot(x,newy,r-),2. MATLAB應(yīng)用舉例,解析公式推導(dǎo),2. MATLAB應(yīng)用舉例,向量場(chǎng)分析,2. MATLAB應(yīng)用舉例,Delaunay三角網(wǎng)構(gòu)建,rand(state,0); x = rand(1,10); y

3、= rand(1,10); TRI = delaunay(x,y); subplot(1,2,1),. triplot(TRI,x,y) axis(0 1 0 1); hold on; plot(x,y,or); hold off,2. MATLAB應(yīng)用舉例,統(tǒng)計(jì)直方圖,2. MATLAB應(yīng)用舉例,統(tǒng)計(jì)圖表設(shè)計(jì),測(cè)繪學(xué)院近五年承擔(dān)科研項(xiàng)目近500項(xiàng),科研總經(jīng)費(fèi)達(dá)1.8億元,年均超3500萬(wàn),2. MATLAB應(yīng)用舉例,2004年蘇門(mén)答臘地震引起的地球重力場(chǎng)變化,2. MATLAB應(yīng)用舉例,汶川地震同震應(yīng)力圖,2. MATLAB應(yīng)用舉例,高精度地球重力場(chǎng)模型構(gòu)建與局部大地水準(zhǔn)面確定,2. MAT

4、LAB應(yīng)用舉例,等高線追蹤,0 0 0 2 10 22 0 0 0 3 15 26 0 0 3 10 21 32 0 0 4 13 22 29 0 0 0 7 17 26,手工繪制,計(jì)算機(jī),2. MATLAB應(yīng)用舉例,Surf面狀模型(精細(xì)插值和增加紋理),水底地形三維顯示,2. MATLAB應(yīng)用舉例,萊特兄弟的飛機(jī),三維仿真,3,MATLAB 方 法 入 門(mén),3.1 MATLAB學(xué)習(xí)方法,1. 熟悉MATLAB工具的基本使用方法 2. 熟悉MATLAB語(yǔ)言的基本用法 3. 熟悉MATLAB中繪制圖形圖表的命令 4. 了解MATLAB中MAPPING工具箱 5. 能夠使用MATLAB完成簡(jiǎn)單的

5、計(jì)算和圖形顯示 6. 根據(jù)所學(xué)的專業(yè)知識(shí),能夠利用MATLAB建立一些簡(jiǎn)單的數(shù)學(xué)模型 7. 多讀源代碼,多實(shí)踐操作,怎樣學(xué)習(xí)和應(yīng)用MATLAB?,.,3.1 MATLAB學(xué)習(xí)方法,http:/www.spatial- 利用MATLAB進(jìn)行空間統(tǒng)計(jì)分析的重要網(wǎng)站,有大量的MATLAB成果可供下載 http:/www.spatial- 空間經(jīng)濟(jì)學(xué)統(tǒng)計(jì)的網(wǎng)站,提供很多MATLAB成熟源碼 MATLAB的官方網(wǎng)站提供的源碼交換平臺(tái),是源碼發(fā)布和評(píng)估的重要網(wǎng)點(diǎn),一些有用的網(wǎng)址,.,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制

6、 M 文件及文件操作,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制 M 文件及文件操作,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 數(shù)學(xué)運(yùn)算符,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 數(shù)學(xué)函數(shù),MATLAB 是一個(gè)科學(xué)計(jì)算軟件,因此可以支持很多常用到的數(shù)學(xué)函數(shù) y = abs(x) % 取 x 的絕對(duì)值 y = sin(x) % 取 x 的正弦值 y = exp(x) % 自然指數(shù) exp(x) y = log(x) % 自然對(duì)數(shù) ln(x) MATLAB 也支持復(fù)數(shù)運(yùn)算,通常以 i 或 j 代表單位虛數(shù),3.2

7、MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 數(shù)學(xué)函數(shù),3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 標(biāo)點(diǎn)符號(hào)的意義,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 注釋,若要加入批注(Comments) 可以使用百分比符號(hào)(%) 例如 y = (5*2+3.5)/5; % 將運(yùn)算結(jié)果儲(chǔ)存在變量 y 但不用顯示于屏幕 z = y2 % 將運(yùn)算結(jié)果儲(chǔ)存在變量 z并顯示于屏幕 z = 7.2900,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制 M 文件及文件操作,3.2 MATLAB入門(mén),常用的操作命令,3.2 MATLAB入門(mén),常用的鍵盤(pán)

8、操作和快捷鍵,3.2 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制 M 文件及文件操作,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 數(shù)值記述和命名規(guī)則,數(shù)值的記述 matlab的數(shù)值采用習(xí)慣的十進(jìn)制表示 可以帶小數(shù)點(diǎn)或負(fù)號(hào) 這些記述都合法 3 -99 0.001 1.3e-3 4.5e33 變量命名規(guī)則 變量名 函數(shù)名對(duì)字母大小寫(xiě)敏感 變量名的第一個(gè)字母必須是英文字母 對(duì)6.5版,變量名最多可包含63個(gè)字符(英文、數(shù)字和下連符) 對(duì)以前的版本,變量名的字符不超過(guò)31個(gè) 變量名不得包含空格 標(biāo)點(diǎn) 但可以包含下劃線,3

9、.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 保留常量,Matlab 的保留常量(永久變量) eps 容差變量,定義為1.0到最近的浮點(diǎn)的距離。PC機(jī)上定義為2-52 i,j 虛數(shù)單位 Pi 圓周率 NaN 非數(shù)(Not a Number),由0/0, /,0* 等運(yùn)算產(chǎn)生 Inf/inf 正無(wú)窮大,定義為(1/0),3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 預(yù)定義變量,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 內(nèi)存變量的查閱和刪除,在workspace中操作 who whos clear,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 變量的文件存取,通過(guò)菜單進(jìn)行

10、存取 save和load命令 save Filename 保存所有變量到Filename.mat save Filename v1 v2 保存v1,v2到Filename.mat save Filename v1 v2 append 把v1,v2添加到Filename.mat save Filename v1 v2 ascii 保存v1,v2為8位ascii文件Filename save Filename v1 v2 ascii double 保存v1,v2位16位ascii文件Filename load Filename 讀取Filename.mat文件中所有變量 load Filename

11、 v1 v2 讀取Filename.mat文件中的v1,v2,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 變量的文件存取,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 運(yùn)算符和表達(dá)式,3.2 MATLAB入門(mén),MATLAB 的數(shù)據(jù)類型 MATLAB表達(dá)式,算術(shù)表達(dá)式 運(yùn)算符有:(加)、(減)、*(乘)、/(右除)、(左除)、(乘方) 對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。 關(guān)系表達(dá)式 運(yùn)算符有:(大于)、=(大于或等于)、=(等于)、=(不等于) 邏輯表達(dá)式 運(yùn)算符有:2;3%列向量生成 A=linspace(1,5,3) A = A = 1 1 3

12、5 2 3,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的創(chuàng)建,命令行直接輸入 2. 矩陣的擴(kuò)展 A=1 2 3;4 5 6 A=1 2 3; 4 5 6; A= C=A eye(2);1 2 3 4 5 1 2 3 C= 4 5 6 1 2 3 1 0 利用M文件建立矩陣 4 5 6 0 1 Step 1:用文本編輯器生成數(shù)據(jù) 1 2 3 4 5 文件mydata.m 保存至matlab 中的work文件夾。數(shù)據(jù)文件為 data= 1 2 3; 4 5 6; Step 2:在命令窗口鍵入mydata 生成名為data的矩陣,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣元素提取及矩陣拆

13、分,A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立 34 的矩陣 A(2,3) = 5 % 將矩陣A第二行、第三列的元素值,改變?yōu)? A = 1 2 3 4 5 6 5 8 9 10 11 12 B = A(2,1:3) % 取出矩陣A的第二行、第一至第三列,并儲(chǔ)存成矩陣B B = 5 6 5 A = A B % 將矩陣B 轉(zhuǎn)置后、再以列向量并入矩陣A A = 1 2 3 4 5 5 6 5 8 6 9 10 11 12 5,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣元素提取及矩陣拆分,A = 1 2 3 4; 5 6 7 8; 9 10 11 12; %

14、建立 34 的矩陣 A(:, 2) = % 刪除矩陣A第二列 A = 1 3 4 5 7 8 9 11 12 A(:, 1:2) = % 刪除矩陣A第一、二列 A = 3 4 7 8 11 12 A(:, end) = % 刪除矩陣A的最后一列 A = 1 2 3 5 6 7 9 10 11,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣元素提取及矩陣拆分,A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立 34 的矩陣 MATLAB中的矩陣是按列存儲(chǔ)的,A(i, j)對(duì)應(yīng)于A(i+(j-1)*3), 例如 A(2,3)=7 A(8)=7,3.2 MATLAB入門(mén),

15、向量和矩陣的處理 矩陣的運(yùn)算,X=1;2;3 Addition (+) Z = X + 2 Z = 3 ; 4 ; 5 Subtraction (-) Multiplication (*) Z = 2 * X Z = 2 ; 4 ; 6 Division (/) Z = X / 2 Z = 0.5 ; 1 ; 1.5 ,Summation X = 1 , 2 , 3 , 4 ; Z = sum( X ) Z = 10 Product Y = 1 ; 2 ; 3 ; 4 ; Z = prod( Y ) Z = 24,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,X=1;2;3 Addi

16、tion (+) Z = X + 2 Z = 3 ; 4 ; 5 Subtraction (-) Multiplication (*) Z = 2 * X Z = 2 ; 4 ; 6 Division (/) Z = X / 2 Z = 0.5 ; 1 ; 1.5 ,Summation X = 1 , 2 , 3 , 4 ; Z = sum( X ) Z = 10 Product Y = 1 ; 2 ; 3 ; 4 ; Z = prod( Y ) Z = 24,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,Inner Product, X = 1 , 2 , 3 ; Y = 1 ;

17、2 ; 3 ; Z = X * Y Z = 14, Z = X Z = 1 ; 2 ; 3 ,Transpose,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,Euclidean Norm,Cross Product, X = 1 , 2 , 3 ; Y = 3 , 2 , 1 ; Z = cross( X , Y ) Z = -4 8 -4, X = 1 , 2 , 3 ; Z = X * X Z = 14,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,Inverse X = 1 2 3 ; 2 3 1 ; 3 1 2; Y = inv(X); Z = X*Y Z = 1

18、 0 0 ; 0 1 0 ; 0 0 1 Determinant Z = det( X ) Z = -18 EXAMPLE (2 x 2),Eigenstates V , D = eig(Z) Eigenvalues D = -1.73, 1.73, 6.00 Eigenvectors V = 0.79 0.21 0.58 ; -0.21 -0.79 0.58 ; -0.58 0.58 0.58,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,b = ? A = 1 , 2 ; 3 , 4 ; x = 1 ; 2 ; b = A*x b = 5 ; 11 ;,x = ? A = 1 ,

19、 2 ; 3 , 4 ; b = 5 ; 11 ; x = Ab x = 1 ; 2 Algorithms Gaussian Elimination LU Factorization,3.2 MATLAB入門(mén),向量和矩陣的處理 矩陣的運(yùn)算,Standard Deviation Y = std( X ) Sort Y = sort( X ) Find Y = X( find( X 0.5 ) ),Mean X = rand(10); Y = mean( X ) Median Y = median( X ) Maximum Y = max( X ) Minimum Y = min( X ),3.2

20、 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制 M 文件及文件操作,3.2 MATLAB入門(mén),程序流程控制 for循環(huán),MATLAB 提供重復(fù)循環(huán)(Loops)及條件判斷 (Conditions)等程序流程控制(Flow Control) 的指令 for 循環(huán)變量=矩陣表達(dá)式 循環(huán)體語(yǔ)句語(yǔ)句 end,3.2 MATLAB入門(mén),程序流程控制 while循環(huán)和if條件,while 循環(huán)(While-loop) while條件式 表達(dá)式; end if else end if 條件式 表達(dá)式; else 表達(dá)式; end,3.2

21、 MATLAB入門(mén),簡(jiǎn)單的數(shù)學(xué)運(yùn)算 常用的操作命令和鍵盤(pán)技巧 MATLAB 的數(shù)據(jù)類型 向量與矩陣的處理 程序流程控制 M 文件及文件操作,3.2 MATLAB入門(mén),M文件,MATLAB的腳本文件,文件擴(kuò)展名“.m” . 命令行的集合,以實(shí)現(xiàn)較復(fù)雜的功能可用任何文本編輯器編輯,可在命令窗直接運(yùn)行.,3.2 MATLAB入門(mén),M文件,3.2 MATLAB入門(mén),M文件,例2,3.2 MATLAB入門(mén),文件操作,Matlab的文件I/O操作 Matlab提供的進(jìn)行外部文件訪問(wèn)的低層操作函數(shù),提供最簡(jiǎn)單的文件的讀取和存儲(chǔ)等操作,類似于C語(yǔ)言的I/O操作,但是語(yǔ)法更為簡(jiǎn)單 文件操作一般流程,打開(kāi)文件(f

22、open),讀取/存儲(chǔ)文件(fread/fwrite),關(guān)閉文件(fclose),3.2 MATLAB入門(mén),文件操作函數(shù),3.2 MATLAB入門(mén),文件操作 fopen函數(shù),fopen操作函數(shù) fid = fopen(filename,允許模式) fid是文件標(biāo)識(shí) 允許模式包括: r 打開(kāi)文件進(jìn)行讀操作(默認(rèn)) r+打開(kāi)文件進(jìn)行讀和寫(xiě)操作 a生成并打開(kāi)一個(gè)新文件或打開(kāi)一個(gè)已存在的文件,在文件末尾進(jìn)行寫(xiě)操作 a+生成并打開(kāi)一個(gè)新文件或打開(kāi)一個(gè)已存在的文件,進(jìn)行讀寫(xiě)操作;在文件末 尾進(jìn)行寫(xiě)操作 w刪除已存在文件中的內(nèi)容或生成一個(gè)新文件,打開(kāi)進(jìn)行寫(xiě)操作 w+刪除已存在文件中的內(nèi)容或生成一個(gè)新文件,打開(kāi)進(jìn)行讀和寫(xiě)操作,3.2 MATLAB入門(mén),文件操作,fread操作函數(shù) A,count = fread(fid, size,精度) 從指定文件中讀取二進(jìn)制數(shù)據(jù),將數(shù)據(jù)寫(xiě)入到矩陣A中 count是可選返回值,表示成功讀入的元素個(gè)數(shù) fid為文件標(biāo)識(shí) size為可選參數(shù),確定讀入多少數(shù)據(jù);如果無(wú)此參數(shù)則讀到文件的末尾,有以下幾種類型: n 讀入n個(gè)元素到一個(gè)列向量 Inf 讀到文件結(jié)束,返回一個(gè)與文件數(shù)據(jù)元素相同的列向量 m,n 讀入足夠元素填充一個(gè)m*n階矩

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論