版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Matlab在地質(zhì)學(xué)中的應(yīng)用西北大學(xué)地質(zhì)學(xué)系2023/2/4主講者:吳鴻天目錄1二維三維圖形的繪制2字符數(shù)組與符號(hào)運(yùn)算3簡(jiǎn)單編程的數(shù)據(jù)處理Matlab在地質(zhì)中的應(yīng)用舉例1Matlab概述2矩陣的建立與計(jì)算3Matlab的簡(jiǎn)單操作Matlab的簡(jiǎn)要介紹12Matlab的簡(jiǎn)要介紹Part11.1Matlab概述MATLAB代表
MATrix
LABoratory1.1Matlab概述Matlab的首創(chuàng)者是美國(guó)新墨西哥大學(xué)計(jì)算機(jī)系的系主任CleveMoler博士,他在教授線性代數(shù)課程發(fā)現(xiàn)其他語(yǔ)言很不方便,便構(gòu)思開(kāi)發(fā)了MATLAB。最初采用FORTRAN語(yǔ)言編寫(xiě),20世紀(jì)80年代后出現(xiàn)了MATLAB的第二版,全部采用C語(yǔ)言編寫(xiě)。
1984年Moler博士和一批數(shù)學(xué)家及軟件專(zhuān)家創(chuàng)建了MathWorks公司,專(zhuān)門(mén)開(kāi)發(fā)MATLAB。1993年出現(xiàn)了微機(jī)版,到現(xiàn)在最新版本是2013b。1.1Matlab概述
Matlab是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,主要包括Matlab和Simulink兩大部分,在數(shù)學(xué)類(lèi)科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。
Matlab可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶(hù)界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。1.1Matlab概述
主要功能:數(shù)值分析數(shù)值和符號(hào)計(jì)算工程與科學(xué)繪圖控制系統(tǒng)設(shè)計(jì)與仿真數(shù)字圖像處理數(shù)字信號(hào)處理通訊系統(tǒng)設(shè)計(jì)與仿真財(cái)務(wù)與金融工程1.1Matlab概述
顯著特點(diǎn):
1Matlab具有強(qiáng)大的矩陣運(yùn)算能力,MatrixLaboratory(矩陣實(shí)驗(yàn)室),使得矩陣運(yùn)算非常簡(jiǎn)單。
2它是一種演算式語(yǔ)言,包含大量計(jì)算算法,封裝了大量的數(shù)學(xué)函數(shù),極大地減少了用戶(hù)編寫(xiě)復(fù)雜函數(shù)的難度,而且數(shù)學(xué)表達(dá)式和運(yùn)算規(guī)則與通常的習(xí)慣相同。3Matlab對(duì)許多專(zhuān)門(mén)的領(lǐng)域都開(kāi)發(fā)了功能強(qiáng)大的模塊集和工具箱用戶(hù)可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫(xiě)代碼。1.1Matlab概述Matlab界面介紹1.1Matlab概述命令窗口
命令窗口是命令行語(yǔ)句和命令文件執(zhí)行的主要窗口。
在命令窗口中直接輸入命令或MATLAB函數(shù),系統(tǒng)自動(dòng)反饋結(jié)果。1.1Matlab概述編輯窗口
用來(lái)創(chuàng)建和修改M-files(MATLAB腳本)路徑是File—New—M-file或Openfile...,編輯完成后按F5運(yùn)行程序。
1.1Matlab概述圖形窗口
圖形窗的打開(kāi)方式有三種:1在主窗口上依次選擇File→New→Figure或Openfile…操作時(shí),選擇打開(kāi)圖形文件。2在命令窗口輸入figure命令。3執(zhí)行結(jié)果為圖形的語(yǔ)句。1.1Matlab概述圖形窗口如執(zhí)行以下語(yǔ)句x=0:0.1:6;y=sin(x);plot(x,y);在Matlab中可得到右側(cè)圖形1.1Matlab概述Matlab語(yǔ)言的基本要素
Matlab語(yǔ)言主要是由幾個(gè)基本要素構(gòu)建而成的,其中包括變量、常量、數(shù)值、字符串、運(yùn)算符及標(biāo)點(diǎn)等。變量的命名規(guī)則:變量名區(qū)分大小寫(xiě);變量名長(zhǎng)度不超過(guò)31位,第31位之后的字符被忽略;變量名以字母開(kāi)頭,變量名中可以包含字母、數(shù)字、下劃線,但不能使用標(biāo)點(diǎn)。
1.2矩陣的建立與計(jì)算矩陣是Matlab語(yǔ)言的核心由m×n個(gè)數(shù)(i=1,2,...,m;j=1,2,...,n)排成的m行n列的數(shù)表稱(chēng)為m行n列矩陣,簡(jiǎn)稱(chēng)m×n矩陣。為表示它是一個(gè)整體,總是加一個(gè)括弧。線性方程組的解取決于系數(shù)常數(shù)項(xiàng)1.2矩陣的建立與計(jì)算對(duì)線性方程組的研究可轉(zhuǎn)化為對(duì)這張表的研究。線性方程組的系數(shù)與常數(shù)項(xiàng)按原位置可排為1.2矩陣的建立與計(jì)算1.2矩陣的建立與計(jì)算
由空間基本定理知,有且只有一組實(shí)數(shù)(x,y,z),使得a=向量OP=xi+yj+zk,因此把實(shí)數(shù)對(duì)(x,y,z)叫做向量a的坐標(biāo),記作a=(x,y,z)。
某廠向三個(gè)商店發(fā)送四種產(chǎn)品,其發(fā)送的數(shù)量可用矩陣來(lái)刻劃。若用aij
表示為工廠向第i店發(fā)送第j種產(chǎn)品數(shù)量,則矩陣
表示了工廠向三個(gè)商店發(fā)送四種產(chǎn)品的數(shù)量。1.2矩陣的建立與計(jì)算1.2矩陣的建立與計(jì)算矩陣的生成注意點(diǎn):輸入矩陣時(shí)要以“[]”為其標(biāo)識(shí),即矩陣的元素應(yīng)在“[]”內(nèi)部。矩陣的同行元素之間可由空格或“,”分隔,行與行之間用“;”或回車(chē)符分隔。矩陣元素可為運(yùn)算表達(dá)式。無(wú)任何元素的空矩陣也合法。1.2矩陣的建立與計(jì)算>>A=[1,2,3;4,5,6;7,8,9]A=123456789創(chuàng)建帶有運(yùn)算表達(dá)式的矩陣:>>b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)]>>b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)]b=0.86600.70712.19721.00001.2矩陣的建立與計(jì)算矩陣的計(jì)算
在matlab語(yǔ)言中運(yùn)算符包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符。其中算術(shù)運(yùn)算符見(jiàn)右表:
其中點(diǎn)運(yùn)算是指操作元素點(diǎn)對(duì)點(diǎn)的運(yùn)算,也就是說(shuō)矩陣內(nèi)元素對(duì)元素之間的運(yùn)算,點(diǎn)運(yùn)算要求參與運(yùn)算的變量在結(jié)構(gòu)上必須是相似的。操作符定義+算術(shù)加-算術(shù)減*算術(shù)乘.*點(diǎn)乘^算術(shù)乘方.^點(diǎn)乘方\算術(shù)左除.\點(diǎn)左除/算術(shù)右除./點(diǎn)右除1.2矩陣的建立與計(jì)算矩陣的計(jì)算矩陣的計(jì)算包括矩陣的加法、減法、乘法、轉(zhuǎn)置等。A
=123
456780
B=147258360C=A+B返回:C=261061014101401.2矩陣的建立與計(jì)算矩陣的計(jì)算
矩陣乘法用“*”符號(hào)表示,只有當(dāng)A矩陣列數(shù)與B矩陣的行數(shù)相等時(shí),二者才可以進(jìn)行乘法運(yùn)算,否則就是錯(cuò)誤的。計(jì)算方法和線性代數(shù)中所介紹的完全相同。
如:A=[1,2;3,4];B=[5,6;7,8];C=A*B,結(jié)果為C=12×56=1×5+2×71×6+2×8=1922
34783×5+4×73×6+4×843501.2矩陣的建立與計(jì)算矩陣的計(jì)算
數(shù)組的乘(矩陣的點(diǎn)乘)用符號(hào).*表示,如果A與B矩陣具有相同階數(shù),則A.*B表示A和B單個(gè)元素之間的對(duì)應(yīng)相乘。1.2矩陣的建立與計(jì)算>>a=[1,2,3;4,5,6;7,8,9]a=123456789>>b=[123456789]b=123456789>>c=a*bc=303642668196102126150>>d=a.*bd=1491625364964811.2矩陣的建立與計(jì)算如何畫(huà)出sin(x)xcos(x)函數(shù)在0-pi區(qū)間上的曲線?x=0:0.1:pi;y=sin(x).*cos(x);plot(x,y)提示:通過(guò)點(diǎn)運(yùn)算獲得。1.2矩陣的建立與計(jì)算
字符串:與矩陣基本等價(jià)字符串用單引號(hào)輸入或賦值;字符串的每個(gè)字符都是都是字符數(shù)組的一個(gè)元素;字符串的每個(gè)字符(包括空格)都是字符數(shù)組的一個(gè)元素。>>s='iloveyou's=iloveyou>>size(s)ans=110>>s(2)ans=>>s(10)ans=usize():獲取矩陣的行數(shù)和列數(shù)1.3Matlab的簡(jiǎn)單操作標(biāo)點(diǎn):在matlab中一些標(biāo)點(diǎn)符號(hào)也被賦以特殊的意義,或表示要進(jìn)行一定的運(yùn)算等。標(biāo)點(diǎn)定義標(biāo)點(diǎn)定義:冒號(hào),具有多種應(yīng)用功能…續(xù)行符;區(qū)分行,及取消結(jié)果顯示%注釋標(biāo)記,區(qū)分列,及函數(shù)參數(shù)分隔符等!調(diào)用操作系統(tǒng)運(yùn)算()指定運(yùn)算過(guò)程中的先后次序等[]矩陣定義的標(biāo)志等{}用于構(gòu)成單元數(shù)組等‘字符串的標(biāo)示符1.3Matlab的簡(jiǎn)單操作下面對(duì)上表中各標(biāo)點(diǎn)作進(jìn)一步的介紹。
首先,用冒號(hào)來(lái)定義行向量?;靖袷剑簒=x1:step:x2(初始值:步長(zhǎng):尾元素?cái)?shù)值限)
x=x1:x2(默認(rèn)步長(zhǎng)為1)其次,通過(guò)使用冒號(hào),可以截取指定矩陣中的部分。>>a=[1:18];a=reshape(a,3,6)%重組矩陣a=147101316258111417369121518>>a1=a(:,1,3)
%提取矩陣a的第1到3列元素組成的子矩陣。
a1=147258369>>a2=a(1:2,3:end)a2=710131681114171.3Matlab的簡(jiǎn)單操作
分號(hào)在matlab語(yǔ)言中所起的作用是作為分隔行的標(biāo)志,這里包括在矩陣定義中對(duì)行的區(qū)分以及在程序代碼中對(duì)行的劃分。在矩陣定義中,分號(hào)之間的數(shù)據(jù)被認(rèn)為是矩陣的同一行。對(duì)于以分號(hào)結(jié)尾的行語(yǔ)句,matlab語(yǔ)言不會(huì)把其運(yùn)算結(jié)果顯示在命令窗口中。
矩陣的定義需要使用中括號(hào)。此外,中括號(hào)可以表示空矩陣,并通過(guò)該空矩陣實(shí)現(xiàn)對(duì)矩陣的部分刪除。1.3Matlab的簡(jiǎn)單操作1.3Matlab的簡(jiǎn)單操作>>a=[1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5]a=1234567843218765>>a(:,1:2)=[]a=34782165>>b=a([13],:)b=34211.3Matlab的簡(jiǎn)單操作編程語(yǔ)句結(jié)構(gòu)Matlab語(yǔ)言最基本的賦值語(yǔ)句結(jié)構(gòu)為:變量名列表=表達(dá)式注1:整個(gè)賦值語(yǔ)句以;結(jié)束,則不在屏幕上返回
結(jié)果,否則立即返回結(jié)果。注2:多個(gè)語(yǔ)句可在同一行,用逗號(hào)分開(kāi)。注3:表達(dá)是太長(zhǎng)可以用續(xù)行符號(hào)…1.3Matlab的簡(jiǎn)單操作編程語(yǔ)句結(jié)構(gòu)循環(huán)語(yǔ)句for,while條件轉(zhuǎn)移ifend,ifelseifelseend開(kāi)關(guān)語(yǔ)句switchcase注釋語(yǔ)句%中斷語(yǔ)句break暫停語(yǔ)句pause回顯語(yǔ)句echoon/off1.3Matlab的簡(jiǎn)單操作for循環(huán)語(yǔ)句
for循環(huán)語(yǔ)句其功能是重復(fù)執(zhí)行一條或一組語(yǔ)句的固定次數(shù)(也可以是零次)。
表達(dá)式實(shí)際上是一個(gè)矩陣,因?yàn)樵贛atlab中基本元素就是矩陣。當(dāng)矩陣的每一列元素依次賦給變量時(shí),循環(huán)體語(yǔ)句就執(zhí)行一次。1.3Matlab的簡(jiǎn)單操作for循環(huán)語(yǔ)句基本格式:for循環(huán)變量=起始值:步長(zhǎng):終止值循環(huán)體end
步長(zhǎng)缺省值為1,可以在正實(shí)數(shù)或負(fù)實(shí)數(shù)范圍內(nèi)任意指定。對(duì)于正數(shù),循環(huán)變量的值大于終止值時(shí),循環(huán)結(jié)束;對(duì)于負(fù)數(shù),循環(huán)變量的值小于終止值時(shí),循環(huán)結(jié)束。循環(huán)結(jié)構(gòu)可以嵌套使用。1.3Matlab的簡(jiǎn)單操作for循環(huán)語(yǔ)句fori=1:5forj=1:5a(i,j)=1/(i+j-1);endenda=1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14290.25000.20000.16670.14290.12500.20000.16670.14290.12500.11111.3Matlab的簡(jiǎn)單操作while循環(huán)語(yǔ)句基本格式:while表達(dá)式循環(huán)體end
若表達(dá)式為真,則執(zhí)行循環(huán)體的內(nèi)容,執(zhí)行后再判斷表達(dá)式是否為真,若不為真,則跳出循環(huán)體,向下繼續(xù)執(zhí)行。
其功能是重復(fù)執(zhí)行一條或者一組語(yǔ)句,重復(fù)次數(shù)由某個(gè)邏輯條件控制,—般來(lái)說(shuō)其執(zhí)行次數(shù)是不能預(yù)先確定的。1.3Matlab的簡(jiǎn)單操作while循環(huán)語(yǔ)句x=0;sum=0;whilex<101sum=sum+x;x=x+2;endsum
While循環(huán)和for循環(huán)的區(qū)別在于,while循環(huán)結(jié)構(gòu)的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而for結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是確定的。1.3Matlab的簡(jiǎn)單操作if分支結(jié)構(gòu)(1)if邏輯表達(dá)式執(zhí)行語(yǔ)句
end
當(dāng)邏輯表達(dá)式的值為真時(shí),執(zhí)行該結(jié)構(gòu)中的執(zhí)行語(yǔ)句,執(zhí)行完之后繼續(xù)向下進(jìn)行;若為假,則跳過(guò)結(jié)構(gòu)中的內(nèi)容,向下執(zhí)行。(2)if邏輯表達(dá)式執(zhí)行語(yǔ)句1else執(zhí)行語(yǔ)句2end
if-else的執(zhí)行方式為:如果邏輯表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,然后跳過(guò)語(yǔ)句2,向下執(zhí)行;如果為假,則執(zhí)行語(yǔ)句2,然后向下執(zhí)行。1.3Matlab的簡(jiǎn)單操作if分支結(jié)構(gòu)
(3)if邏輯表達(dá)式1執(zhí)行語(yǔ)句1elseif邏輯表達(dá)式2
執(zhí)行語(yǔ)句2
…end
if-elseif的執(zhí)行方式為:如果邏輯表達(dá)式1的值為真,則執(zhí)行語(yǔ)句1;如果為假,則判斷邏輯表達(dá)式2,如果為真,則執(zhí)行語(yǔ)句2,否則向下執(zhí)行。1.3Matlab的簡(jiǎn)單操作if分支結(jié)構(gòu)n=input('Pleaseenteranumber,n=');ifn<10n+10elsen-10end例:輸入一個(gè)數(shù),如果小于10就輸出這個(gè)數(shù)加10;否則輸出這個(gè)數(shù)減10。1.3Matlab的簡(jiǎn)單操作switch分支結(jié)構(gòu)switch表達(dá)式(%可以是標(biāo)量或字符串)case值1語(yǔ)句1case值2語(yǔ)句2….otherwise語(yǔ)句3end
執(zhí)行方式:表達(dá)式的值和哪種情況(case)的值相同,就執(zhí)行哪種情況中的語(yǔ)句,如果不同,則執(zhí)行otherwise中的語(yǔ)句。格式中也可以不包括otherwise,這時(shí)如果表達(dá)式的值與列出的各種情況都不相同,則繼續(xù)向下執(zhí)行。Matlab在地質(zhì)中的應(yīng)用舉例Part22.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)
繪制二維圖形最常用的函數(shù)是plot函數(shù)。其調(diào)用格式為:
plot(X,Y)
X為橫坐標(biāo),Y為縱坐標(biāo)。
說(shuō)明:x,y可以是向量或矩陣。
當(dāng)x,y均為向量時(shí),要求向量x與向量y的長(zhǎng)度一致,則plot(x,y)繪制出以x為橫坐標(biāo),y為縱坐標(biāo)的二維圖形。
2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)例如:x,y為同維向量時(shí)
x=0:0.01*pi:pi;y=sin(x).*cos(x);plot(x,y)2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)
當(dāng)x為向量、y為矩陣時(shí),plot(x,y)用不同顏色的曲線繪制出y行或列對(duì)于x的圖形。y矩陣的行或列的選擇取決于x,y的維數(shù),若y為方陣或y矩陣的列向量長(zhǎng)度與x向量的長(zhǎng)度一致,則繪制出y矩陣的各個(gè)列向量相對(duì)于x的一組二維圖形;若y矩陣的行向量長(zhǎng)度與x向量的長(zhǎng)度一致,則繪制出y矩陣的各個(gè)行向量相對(duì)于x的一組二維圖形。2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)clearallx=0:pi/50:3*pi;y(1,:)=cos(x);y(2,:)=0.3*cos(x);y(3,:)=0.6*cos(x);plot(x,y)2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)
若x,y是同維的矩陣,則plot(x,y)繪制出y的列向量相對(duì)于x的列向量的一組二維圖形。例:x=[465;132];y=[798;121110];plot(x,y)2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)plot(x,y,'參數(shù)')說(shuō)明:x,y可以是向量或矩陣,與前面相同。參數(shù)選項(xiàng)為一個(gè)字符串,它決定了二維圖形的顏色、線型以及數(shù)據(jù)點(diǎn)的圖標(biāo)等。2.1二維三維圖形的繪制選項(xiàng)說(shuō)明選項(xiàng)說(shuō)明選項(xiàng)說(shuō)明-實(shí)線g綠色xx符號(hào):點(diǎn)線b藍(lán)色++號(hào)-.點(diǎn)劃線w白色*星號(hào)--虛線k黑色s方形y黃色.點(diǎn)d菱形r紅色o圓p正五邊形常用曲線顏色和線型格式2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù)例如:x=1:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,'--k',x,z,'-.rd')%結(jié)果怎樣?2.1二維三維圖形的繪制極坐標(biāo)系繪圖函數(shù)polar
polar(theta,tho,s)
其中theta為弧度表示的角度向量;tho為相應(yīng)的幅向量;s為圖形屬性設(shè)置選項(xiàng),可省略。例如:x=0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x,y,'-')2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù):繪制玫瑰花圖
玫瑰花圖實(shí)際上是極坐標(biāo)中的直方圖,它根據(jù)數(shù)據(jù)值的范圍進(jìn)行分組,并顯示數(shù)據(jù)的分布特征。每個(gè)組顯示為一瓣。
用rose函數(shù)繪制玫瑰花圖,該函數(shù)最常用的語(yǔ)法格式為rose(theta)
用theta數(shù)據(jù)繪制玫瑰花圖,玫瑰花的瓣數(shù)一般為20,或更少。向量theta中的數(shù)據(jù)用弧度表示,確定每個(gè)花瓣的角度。花瓣的長(zhǎng)度反映了theta中落在該范圍內(nèi)的元素個(gè)數(shù)。2.1二維三維圖形的繪制二維圖形及相關(guān)函數(shù):繪制玫瑰花圖例:用玫瑰花圖顯示50個(gè)隨機(jī)數(shù)的分布特征。clearalltheta=2*pi*rand(1,50);%rand為生成均勻分布的隨機(jī)數(shù)函數(shù)rose(theta)2.1二維三維圖形的繪制三維圖形繪制1plot3函數(shù)
最基本的三維圖形函數(shù)為plot3,它是將二維函數(shù)plot的有關(guān)功能擴(kuò)展到三維空間,用來(lái)繪制三維圖形。
函數(shù)格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
其中x1,y1,z1…表示三維坐標(biāo)向量,c1,c2…表示線形或顏色。
函數(shù)功能:以向量x,y,z為坐標(biāo),繪制三維曲線。
2.1二維三維圖形的繪制三維圖形繪制例如:x=0:pi/50:10*pi;y=sin(x);z=cos(x);plot3(x,y,z);2.1二維三維圖形的繪制三維圖形繪制
plot3也可以以矩陣作為輸入?yún)?shù),這時(shí)要求3個(gè)輸入矩陣必須結(jié)構(gòu)相同。例如:[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);z=x.*exp(-x.^2-y.^2);plot3(x,y,z)meshgird函數(shù):按采樣點(diǎn)生成繪制3D圖
形所需的網(wǎng)格數(shù)據(jù)2.1二維三維圖形的繪制三維圖形繪制
2
mesh函數(shù)
mesh函數(shù)用于繪制三維網(wǎng)格圖。在不需要繪制特別精細(xì)的三維曲面結(jié)構(gòu)圖時(shí),可以通過(guò)繪制三維網(wǎng)格圖來(lái)表示三維曲面。三維曲面的網(wǎng)格圖最突出的優(yōu)點(diǎn)是:它較好地解決了實(shí)驗(yàn)數(shù)據(jù)在三維空間的可視化問(wèn)題。
函數(shù)格式:mesh(x,y,z,c)
其中x,y控制X和Y軸坐標(biāo),矩陣z是由(x,y)求得Z軸坐標(biāo),(x,y,z組成了三維空間的網(wǎng)格點(diǎn);c用于控制網(wǎng)格點(diǎn)顏色。
meshc(x,y,z)繪制將網(wǎng)格與等高線結(jié)合的三維面圖。
meshz(x,y,z)繪制以邊界面屏蔽的網(wǎng)格圖
surf(x,y,z)繪制三維著色面圖2.1二維三維圖形的繪制三維圖形繪制例如:[X,Y]=meshgrid([-4:0.5:4]);z=sqrt(X.^2+Y.^2);subplot(2,2,1)mesh(z)subplot(2,2,2)meshc(z)subplot(2,2,3)meshz(z)subplot(2,2,4)surf(z)sqrt()求平方根,subplot()是將多個(gè)圖畫(huà)到一個(gè)平面上的工具。2.1二維三維圖形的繪制Matlab在構(gòu)造地質(zhì)學(xué)中的應(yīng)用選擇構(gòu)造地質(zhì)學(xué)課本的附圖1:凌河地形地質(zhì)圖來(lái)進(jìn)行試驗(yàn)
在構(gòu)造地質(zhì)學(xué)課程的學(xué)習(xí)中,我們要接觸大量的地形地質(zhì)圖,地形地質(zhì)圖上最基本的一項(xiàng)信息就是等高線地形圖,讀懂等高線地形圖,通過(guò)空間想象將三維的立體地形在腦海中構(gòu)建起來(lái),這對(duì)于接下來(lái)正確獲取其它地學(xué)專(zhuān)業(yè)信息有極大的幫助。但是,在剛剛接觸地質(zhì)圖的時(shí)候,我們通常很難建立起三維的立體地形,或者是建立起來(lái)了也沒(méi)有一個(gè)客觀的對(duì)照標(biāo)準(zhǔn),不知道自己建立的影像到底對(duì)不對(duì),老師在講解的時(shí)候,也只是簡(jiǎn)單的語(yǔ)言描述,我們根本沒(méi)法建立清晰可見(jiàn)的三維立體地形對(duì)照影像,不利于我們后續(xù)課程的學(xué)習(xí)。2.1二維三維圖形的繪制2.1二維三維圖形的繪制
為了獲取這一地區(qū)的點(diǎn)的高度,在原圖上,以左下角為坐標(biāo)原點(diǎn),圖的下邊界為X軸,圖的左邊界為Y軸,分別在兩軸上每隔1cm取點(diǎn),根據(jù)圖的比例尺1:20000,圖上的1cm在實(shí)際中表示200米,根據(jù)取的點(diǎn)作方格,如圖2,再根據(jù)地質(zhì)圖上原有的等高線的信息,就可以得到一系列的(X,Y,H)。其中(X,Y)表示在這張地形地質(zhì)圖上某點(diǎn)的位置坐標(biāo),H表示該點(diǎn)的高程(通過(guò)圖上的等高線可以得出來(lái))。下表就是得到的數(shù)據(jù):Matlab在構(gòu)造地質(zhì)學(xué)中的應(yīng)用2.1二維三維圖形的繪制在編程中為了導(dǎo)入的方便,將相同的數(shù)據(jù)改用txt格式進(jìn)行導(dǎo)入(h.txt)。2.1二維三維圖形的繪制
用原始數(shù)據(jù)作該地區(qū)的地貌圖。x=0:200:3000;y=0:200:2400;loadh.txt;meshz(x,y,h);xlabel('X'),ylabel('Y'),zlabel('H')運(yùn)行結(jié)果如圖3。明顯山區(qū)表面很粗糙,效果不好。2.1二維三維圖形的繪制
每間隔50加密網(wǎng)格,用最近鄰點(diǎn)插值方法作該地區(qū)的地貌圖,可以使地圖的顯示效果更好。x=0:200:3000;y=0:200:2400;loadh.txt;xi=0:50:3000;yi=0:50:2400;hi=interp2(x,y,h,xi,yi','cubic');surfc(xi,yi,hi);xlabel('X'),ylabel('Y'),zlabel('H')運(yùn)行結(jié)果如圖,效果很好。2.1二維三維圖形的繪制
顯示一個(gè)旋轉(zhuǎn)的地球(1)創(chuàng)建一個(gè)包含下面代碼的M文件:fori=360:-5:0view(i,0);drawnowend(2)保存名稱(chēng)為spin.m。(3)用格線創(chuàng)建球體顯示效果:axesm('globe','Grid','on','Gcolor',[.7,.8,.9],'GlineStyle','-')(4)隱藏圖形包圍盒的邊線,進(jìn)行透視投影:set(gca,'Box','off','Projection','perspective')(5)創(chuàng)建海平面數(shù)據(jù)網(wǎng)格,使球體不透明:base=zeros(180,360);baseref=[1900];hs=meshm(base,baseref,size(base));colormapcopper(6)提升網(wǎng)格,使它浮在球面上方2.5%半徑
距離的地方:setm(gca,'Galtitude',0.025)(7)準(zhǔn)備用地形地貌數(shù)據(jù)替換目前的球面數(shù)據(jù):clmo(hs)loadtopo2.1二維三維圖形的繪制
顯示一個(gè)旋轉(zhuǎn)的地球(8)將高程放大顯示,繪制表面:topo=topo/(almanac('earth','radius')*20);hs=meshm(topo,topolegend,size(topo),topo);demcmap(topo)(9)旋轉(zhuǎn)地球spin2.2字符數(shù)組與符號(hào)運(yùn)算在數(shù)值計(jì)算中,最主要的部分就是解線性方程組。由矩陣的定義可知,線性方程組的運(yùn)算可以轉(zhuǎn)化為矩陣的運(yùn)算。另外,在地質(zhì)學(xué)中應(yīng)用比較廣泛的還有插值、曲線的擬合等等。趨勢(shì)面分析:為研究某一地質(zhì)特征的區(qū)域性變化規(guī)律和局部范圍的異常變化,常用趨勢(shì)面分析方法來(lái)處理地質(zhì)問(wèn)題。用matlab處理的過(guò)程就是進(jìn)行多個(gè)變量的函數(shù)的曲線擬合過(guò)程。2.2字符數(shù)組與符號(hào)運(yùn)算具體過(guò)程為:輸入原始數(shù)據(jù)y建立趨勢(shì)方程y計(jì)算趨勢(shì)值和偏差值y作分析圖和剩余圖。在matlab中:一次趨勢(shì)方程為:W=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年網(wǎng)絡(luò)監(jiān)控系統(tǒng)項(xiàng)目融資計(jì)劃書(shū)
- 2023年LMDPE項(xiàng)目融資計(jì)劃書(shū)
- 2024秋新滬科版物理八年級(jí)上冊(cè)教學(xué)課件 第五章 質(zhì)量 第二節(jié) 測(cè)量:物體的質(zhì)量
- 2023年氣門(mén)嘴項(xiàng)目籌資方案
- 2023年聚烯烴類(lèi)線纜項(xiàng)目融資計(jì)劃書(shū)
- 國(guó)際物流模擬練習(xí)題與答案
- 養(yǎng)老院老人生活?yuàn)蕵?lè)活動(dòng)組織人員考核獎(jiǎng)懲制度
- 養(yǎng)老院老人家庭關(guān)懷制度
- 《科技服務(wù)業(yè)統(tǒng)計(jì)》課件
- 2024年用電維護(hù)保養(yǎng)合同2篇
- 上海市復(fù)旦附中2025屆高一上數(shù)學(xué)期末檢測(cè)模擬試題含解析
- 義務(wù)教育勞動(dòng)課程標(biāo)準(zhǔn)2022年版考試題庫(kù)及答案5
- 《社會(huì)調(diào)查研究與方法》形成性考核冊(cè)及參考答案
- 腫瘤所治療所致血小板減少癥診療指南
- 中考英語(yǔ)詞匯
- 《Java程序設(shè)計(jì)基礎(chǔ)與應(yīng)用》全套教學(xué)課件
- 2024年山東省濟(jì)南市地理高一上學(xué)期試卷及解答
- 3.3 場(chǎng)域與對(duì)話-公共空間里的雕塑 課件-高中美術(shù)人美版(2019)美術(shù)鑒賞
- 廣東省深圳市2024年九年級(jí)中考提分訓(xùn)練《六選五》專(zhuān)題練習(xí)
- 2024年永州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 注射相關(guān)感染預(yù)防與控制(全文)
評(píng)論
0/150
提交評(píng)論