2011Amatlab光盤資料ch3.ppt_第1頁
2011Amatlab光盤資料ch3.ppt_第2頁
2011Amatlab光盤資料ch3.ppt_第3頁
2011Amatlab光盤資料ch3.ppt_第4頁
2011Amatlab光盤資料ch3.ppt_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 數(shù)組及向量化運(yùn)算,3.1 數(shù)值計(jì)算的特點(diǎn)和地位 3.2 數(shù)值數(shù)組的創(chuàng)建和尋訪 3.3 數(shù)組運(yùn)算 3.4 “非數(shù)”和“空”數(shù)組 3.5 關(guān)系操作和邏輯操作,3.1 數(shù)值計(jì)算的特點(diǎn)和地位,符號(hào)計(jì)算的短處:很多問題無法解,很多問題求解時(shí)間長得無法忍受。在實(shí)際科學(xué)計(jì)算、工程分析和設(shè)計(jì)中,符號(hào)計(jì)算的適用范圍遠(yuǎn)遠(yuǎn)不如數(shù)值計(jì)算。 數(shù)值計(jì)算正適應(yīng)了現(xiàn)代主流計(jì)算機(jī)的特點(diǎn),它計(jì)算速度快,容量大,能處理各種復(fù)雜的函數(shù)關(guān)系。但數(shù)值計(jì)算以有限精度數(shù)字為基本操作元素,所以它只能用有限長度的數(shù)據(jù),以有限的精度,表現(xiàn)有限時(shí)間和范圍內(nèi)的函數(shù)關(guān)系,【例3.1-2】,【例3.1-1】,3.2 數(shù)值數(shù)組的創(chuàng)建和尋訪,就所創(chuàng)建

2、一維數(shù)組的用途而言,大致分為兩類:自變量數(shù)組;通用變量數(shù)組。,3.2.1 一維數(shù)組的創(chuàng)建 3.2.2 二維數(shù)組的創(chuàng)建 3.2.3 二維數(shù)組元素的標(biāo)識(shí)和尋訪 3.2.3 數(shù)組構(gòu)作技法綜合,3.2.1一維數(shù)組的創(chuàng)建- 遞增/減型一維數(shù)組的創(chuàng)建,特點(diǎn):數(shù)組元素值的大小按遞增或遞減的次序排列;數(shù)組元素值之間的“差”是“確定”的,即“等步長”的。這類數(shù)組主要用作函數(shù)的自變量(比如例3.1-1和例3.1-2 中的數(shù)值自變量t),for循環(huán)中循環(huán)變量等。,(1)“冒號(hào)”生成法 x = a : inc : b 說明 a是數(shù)組的第一個(gè)元素;inc是采樣點(diǎn)之間的間隔,即步長;后一個(gè)元素等于/小于b。 冒號(hào)“:”分

3、隔。 inc可以省略。省略時(shí),默認(rèn)其取值為1,即認(rèn)為inc=1。,(2)線性(或?qū)?shù))定點(diǎn)法 x = linspace ( a , b , n ) 以a, b為左右端點(diǎn),產(chǎn)生線性等間隔的 行數(shù)組,x = logspace ( a , b , n ) 以a, b為左右端點(diǎn),產(chǎn)生對(duì)數(shù)等間隔的 行數(shù)組,說明 n是總采樣點(diǎn)數(shù),即一維數(shù)組的長度。 x = linspace ( a , b , n )等價(jià)于x = a : (b - a)/(n-1) : b。,3.2.1一維數(shù)組的創(chuàng)建- 通用型一維數(shù)組的創(chuàng)建,非遞增/減型的一維數(shù)組,(1)逐個(gè)元素輸入法 這是最簡單,但又最通用的構(gòu)造方法。(見例3.2-1)

4、。 (2)運(yùn)用MATLAB函數(shù)生成法 MATLAB中有許多用來生成特殊形式數(shù)組的函數(shù),如均勻分布隨機(jī)數(shù)組的rand(1,n),全1數(shù)組ones(1,n)等。,3.2.2 二維數(shù)組的創(chuàng)建,小規(guī)模數(shù)組 中規(guī)模數(shù)組,小規(guī)模數(shù)組的直接輸入法,對(duì)于較小數(shù)組,從鍵盤上直接輸入最簡便。二維數(shù)組必須有以下三個(gè)要素: 整個(gè)輸入數(shù)組必須以方括號(hào)“ ”為其首尾; 數(shù)組的行與行之間必須用分號(hào)“;”或回車鍵【Enter】隔離; 數(shù)組元素必須由逗號(hào)“,”或空格分隔。,中規(guī)模數(shù)組的數(shù)組編輯器創(chuàng)建法,中規(guī)模數(shù)組,中規(guī)模數(shù)組的M文件創(chuàng)建法,當(dāng)數(shù)組規(guī)模較大,元素?cái)?shù)據(jù)比較冗長時(shí),就不宜采用指令窗直接輸入法,此時(shí)借助數(shù)組編輯器比較方

5、便。,中規(guī)模數(shù)組的M文件創(chuàng)建法,【例3.2-3】根據(jù)現(xiàn)有數(shù)據(jù)創(chuàng)建一個(gè),的數(shù)組。,對(duì)于今后經(jīng)常需要調(diào)用的數(shù)組,當(dāng)數(shù)組規(guī)模較大而復(fù)雜時(shí),為它專門建立一個(gè)M文件是值得的。,表3.2-1 標(biāo)準(zhǔn)數(shù)組生成函數(shù),利用MATLAB函數(shù)創(chuàng)建數(shù)組,【例3.2-5】,3.2.3 二維數(shù)組元素的標(biāo)識(shí)和尋訪,表3.2-2 子數(shù)組尋訪和賦值格式匯總表,【例3.2-6】,3.2.3 數(shù)組構(gòu)作技法綜合,為了生成比較復(fù)雜的數(shù)組,或?yàn)榱藢?duì)已生成數(shù)組的進(jìn)行修改、擴(kuò)展,MATLAB提供了諸如反轉(zhuǎn)、插入、提取、收縮、重組等操作。,【例 3.2-7】,表3.2-3 常用數(shù)組操作函數(shù),【例3.2-8】,3.3 數(shù)組運(yùn)算,3.3.1 數(shù)組運(yùn)

6、算的由來和規(guī)則 3.3.2 數(shù)組運(yùn)算和向量化編程,3.3.1 數(shù)組運(yùn)算的由來和規(guī)則,函數(shù)關(guān)系數(shù)值計(jì)算模型的分類,與符號(hào)計(jì)算不同,數(shù)值計(jì)算接受的是離散數(shù)字,在計(jì)算過程中的加減乘除等運(yùn)算和函數(shù)運(yùn)算是對(duì)離散數(shù)據(jù)集進(jìn)行的,而最終的計(jì)算結(jié)果也是離散數(shù)據(jù)集。,在數(shù)值計(jì)算實(shí)現(xiàn)的數(shù)學(xué)模型中,對(duì)離散數(shù)據(jù)進(jìn)行處理的函數(shù)關(guān)系運(yùn)算可歸納成如下三類:,個(gè)別的、無規(guī)律的數(shù)據(jù)集所執(zhí)行函數(shù)關(guān)系運(yùn)算 體現(xiàn)這種運(yùn)算的程序通常是:不在循環(huán)體內(nèi)的標(biāo)量的表達(dá)式運(yùn)算。 一組有規(guī)律數(shù)據(jù)需要反復(fù)執(zhí)行的函數(shù)關(guān)系運(yùn)算 這種運(yùn)算的程序一般體現(xiàn)為:一個(gè)包含標(biāo)量表達(dá)式計(jì)算的循環(huán)體。 一組有規(guī)律數(shù)據(jù)按照矩陣運(yùn)算法則執(zhí)行的運(yùn)算 這種運(yùn)算的程序?qū)崿F(xiàn)一定是:

7、包含標(biāo)量表達(dá)式計(jì)算的一重或多重循環(huán)體。,提高程序執(zhí)行性能的三大措施,3.3.1 數(shù)組運(yùn)算的由來和規(guī)則,為了提高程序執(zhí)行時(shí)的性能,MATLAB針對(duì)三種不同類型的函數(shù)關(guān)系運(yùn)算采取如下措施。,采用所謂的JIT加速器(JIT-Accelerator),提高FOR循環(huán)中標(biāo)量函數(shù)關(guān)系運(yùn)算的效率。 采用“數(shù)組運(yùn)算”模式處理那些借助循環(huán)而反復(fù)執(zhí)行的標(biāo)量運(yùn)算。這就是所謂的“向量化”運(yùn)算。 采用“向量或矩陣運(yùn)算”模式去執(zhí)行“那些傳統(tǒng)上靠多重循環(huán)標(biāo)量運(yùn)算完成的”矩陣計(jì)算。,其中后2條措施,凸顯出MATLAB面向數(shù)組/矩陣編程和運(yùn)算的特點(diǎn)。這不僅使得MATLAB程序的書寫有時(shí)與經(jīng)典教科書的數(shù)學(xué)描述十分相近,而且大大提

8、高了程序執(zhí)行的速度。,數(shù)組運(yùn)算規(guī)則,數(shù)組運(yùn)算 標(biāo)量和數(shù)組運(yùn)算:標(biāo)量作用于數(shù)組每個(gè)元素 數(shù)組的函數(shù)運(yùn)算:函數(shù)作用于數(shù)組每個(gè)元素,表3.3-1 MATLAB的數(shù)組/矩陣運(yùn)算符及其數(shù)學(xué)意義,表3.3-2 服從數(shù)組運(yùn)算規(guī)則的函數(shù)及其他算符,3.3.2 數(shù)組運(yùn)算和向量化編程,在MATLAB中,若想達(dá)到向量化編程目的,就要:盡量少地采用標(biāo)量運(yùn)算表達(dá)式,盡可能使用數(shù)組/矩陣運(yùn)算指令替代原先那些“包含標(biāo)量運(yùn)算表達(dá)式的循環(huán)體”。向量化程序不但可讀性好,而且執(zhí)行速度快。,【例 3.3-1】,【例 3.3-2】,3.4 “非數(shù)”和“空”數(shù)組,非數(shù)NaN,按IEEE規(guī)定,,等運(yùn)算都會(huì)產(chǎn)生非數(shù),(Not a Numbe

9、r)。該非數(shù)在MATLAB中用NaN 或 nan 記述。,NaN參與運(yùn)算所得的結(jié)果也是NaN,即具有傳遞性。 非數(shù)沒有“大小”概念,因此不能比較兩個(gè)非數(shù)的大小。,1)性質(zhì),2)功用,真實(shí)記述,運(yùn)算的后果,避免可能因,運(yùn)算而造成程序執(zhí)行的中斷,在測(cè)量數(shù)據(jù)處理中,可以用來標(biāo)識(shí)“野點(diǎn)(非正常點(diǎn))”,在數(shù)據(jù)可視化中,用來裁剪圖形。,【例3.4-1】,【例3.4-2】,“空”數(shù)組,空”數(shù)組是MATLAB為操作和表述需要而專門設(shè)計(jì)的一種數(shù)組。,在沒有“空”數(shù)組參與運(yùn)算時(shí),計(jì)算結(jié)果中的“空”可以合理地解釋“所得結(jié)果的含義”。,運(yùn)用“空”數(shù)組對(duì)其他非空數(shù)組賦值,可以使數(shù)組變小,但不能改變那 數(shù)組的維數(shù)。,1)

10、功用,不要把“空”數(shù)組與全零數(shù)組混淆。這是兩個(gè)不同的概念。 不要把“空”數(shù)組看成“虛無”。它確實(shí)地存在。利用which, who, whos, 以及變量瀏覽器都可以驗(yàn)證它的存在。 唯一能正確判斷一個(gè)數(shù)組是否“空”數(shù)組的指令是isempty。 “空”數(shù)組在運(yùn)算中不具備傳遞性。對(duì)運(yùn)算中出現(xiàn)的“空”結(jié)果,解釋要謹(jǐn)慎。,2)說明,【例3.4-3】,3.5 關(guān)系操作和邏輯操作,在程序流控制中,在邏輯、模糊邏輯推理中,都需要對(duì)一類是非問題作出“是真,是假”的回答。為此,MATLAB設(shè)計(jì)了關(guān)系操作、邏輯操作和一些相關(guān)函數(shù)。,在所有關(guān)系表達(dá)式和邏輯表達(dá)式中,作為輸入的任何非0數(shù)都被看作是“邏輯真”,而只有0才被認(rèn)為是“邏輯假”。 所有關(guān)系表達(dá)式和邏輯表達(dá)式的計(jì)算結(jié)果,即輸出,是一個(gè)由0和1組成的“邏輯數(shù)組(Logical Array)”。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論