版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章 數(shù)組及向量化運算,3.1 數(shù)值計算的特點和地位 3.2 數(shù)值數(shù)組的創(chuàng)建和尋訪 3.3 數(shù)組運算 3.4 “非數(shù)”和“空”數(shù)組 3.5 關系操作和邏輯操作,3.1 數(shù)值計算的特點和地位,符號計算的短處:很多問題無法解,很多問題求解時間長得無法忍受。在實際科學計算、工程分析和設計中,符號計算的適用范圍遠遠不如數(shù)值計算。 數(shù)值計算正適應了現(xiàn)代主流計算機的特點,它計算速度快,容量大,能處理各種復雜的函數(shù)關系。但數(shù)值計算以有限精度數(shù)字為基本操作元素,所以它只能用有限長度的數(shù)據(jù),以有限的精度,表現(xiàn)有限時間和范圍內(nèi)的函數(shù)關系,【例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ù)組元素的標識和尋訪 3.2.3 數(shù)組構作技法綜合,3.2.1一維數(shù)組的創(chuàng)建- 遞增/減型一維數(shù)組的創(chuàng)建,特點:數(shù)組元素值的大小按遞增或遞減的次序排列;數(shù)組元素值之間的“差”是“確定”的,即“等步長”的。這類數(shù)組主要用作函數(shù)的自變量(比如例3.1-1和例3.1-2 中的數(shù)值自變量t),for循環(huán)中循環(huán)變量等。,(1)“冒號”生成法 x = a : inc : b 說明 a是數(shù)組的第一個元素;inc是采樣點之間的間隔,即步長;后一個元素等于/小于b。 冒號“:”分
3、隔。 inc可以省略。省略時,默認其取值為1,即認為inc=1。,(2)線性(或?qū)?shù))定點法 x = linspace ( a , b , n ) 以a, b為左右端點,產(chǎn)生線性等間隔的 行數(shù)組,x = logspace ( a , b , n ) 以a, b為左右端點,產(chǎn)生對數(shù)等間隔的 行數(shù)組,說明 n是總采樣點數(shù),即一維數(shù)組的長度。 x = linspace ( a , b , n )等價于x = a : (b - a)/(n-1) : b。,3.2.1一維數(shù)組的創(chuàng)建- 通用型一維數(shù)組的創(chuàng)建,非遞增/減型的一維數(shù)組,(1)逐個元素輸入法 這是最簡單,但又最通用的構造方法。(見例3.2-1)
4、。 (2)運用MATLAB函數(shù)生成法 MATLAB中有許多用來生成特殊形式數(shù)組的函數(shù),如均勻分布隨機數(shù)組的rand(1,n),全1數(shù)組ones(1,n)等。,3.2.2 二維數(shù)組的創(chuàng)建,小規(guī)模數(shù)組 中規(guī)模數(shù)組,小規(guī)模數(shù)組的直接輸入法,對于較小數(shù)組,從鍵盤上直接輸入最簡便。二維數(shù)組必須有以下三個要素: 整個輸入數(shù)組必須以方括號“ ”為其首尾; 數(shù)組的行與行之間必須用分號“;”或回車鍵【Enter】隔離; 數(shù)組元素必須由逗號“,”或空格分隔。,中規(guī)模數(shù)組的數(shù)組編輯器創(chuàng)建法,中規(guī)模數(shù)組,中規(guī)模數(shù)組的M文件創(chuàng)建法,當數(shù)組規(guī)模較大,元素數(shù)據(jù)比較冗長時,就不宜采用指令窗直接輸入法,此時借助數(shù)組編輯器比較方
5、便。,中規(guī)模數(shù)組的M文件創(chuàng)建法,【例3.2-3】根據(jù)現(xiàn)有數(shù)據(jù)創(chuàng)建一個,的數(shù)組。,對于今后經(jīng)常需要調(diào)用的數(shù)組,當數(shù)組規(guī)模較大而復雜時,為它專門建立一個M文件是值得的。,表3.2-1 標準數(shù)組生成函數(shù),利用MATLAB函數(shù)創(chuàng)建數(shù)組,【例3.2-5】,3.2.3 二維數(shù)組元素的標識和尋訪,表3.2-2 子數(shù)組尋訪和賦值格式匯總表,【例3.2-6】,3.2.3 數(shù)組構作技法綜合,為了生成比較復雜的數(shù)組,或為了對已生成數(shù)組的進行修改、擴展,MATLAB提供了諸如反轉、插入、提取、收縮、重組等操作。,【例 3.2-7】,表3.2-3 常用數(shù)組操作函數(shù),【例3.2-8】,3.3 數(shù)組運算,3.3.1 數(shù)組運
6、算的由來和規(guī)則 3.3.2 數(shù)組運算和向量化編程,3.3.1 數(shù)組運算的由來和規(guī)則,函數(shù)關系數(shù)值計算模型的分類,與符號計算不同,數(shù)值計算接受的是離散數(shù)字,在計算過程中的加減乘除等運算和函數(shù)運算是對離散數(shù)據(jù)集進行的,而最終的計算結果也是離散數(shù)據(jù)集。,在數(shù)值計算實現(xiàn)的數(shù)學模型中,對離散數(shù)據(jù)進行處理的函數(shù)關系運算可歸納成如下三類:,個別的、無規(guī)律的數(shù)據(jù)集所執(zhí)行函數(shù)關系運算 體現(xiàn)這種運算的程序通常是:不在循環(huán)體內(nèi)的標量的表達式運算。 一組有規(guī)律數(shù)據(jù)需要反復執(zhí)行的函數(shù)關系運算 這種運算的程序一般體現(xiàn)為:一個包含標量表達式計算的循環(huán)體。 一組有規(guī)律數(shù)據(jù)按照矩陣運算法則執(zhí)行的運算 這種運算的程序?qū)崿F(xiàn)一定是:
7、包含標量表達式計算的一重或多重循環(huán)體。,提高程序執(zhí)行性能的三大措施,3.3.1 數(shù)組運算的由來和規(guī)則,為了提高程序執(zhí)行時的性能,MATLAB針對三種不同類型的函數(shù)關系運算采取如下措施。,采用所謂的JIT加速器(JIT-Accelerator),提高FOR循環(huán)中標量函數(shù)關系運算的效率。 采用“數(shù)組運算”模式處理那些借助循環(huán)而反復執(zhí)行的標量運算。這就是所謂的“向量化”運算。 采用“向量或矩陣運算”模式去執(zhí)行“那些傳統(tǒng)上靠多重循環(huán)標量運算完成的”矩陣計算。,其中后2條措施,凸顯出MATLAB面向數(shù)組/矩陣編程和運算的特點。這不僅使得MATLAB程序的書寫有時與經(jīng)典教科書的數(shù)學描述十分相近,而且大大提
8、高了程序執(zhí)行的速度。,數(shù)組運算規(guī)則,數(shù)組運算 標量和數(shù)組運算:標量作用于數(shù)組每個元素 數(shù)組的函數(shù)運算:函數(shù)作用于數(shù)組每個元素,表3.3-1 MATLAB的數(shù)組/矩陣運算符及其數(shù)學意義,表3.3-2 服從數(shù)組運算規(guī)則的函數(shù)及其他算符,3.3.2 數(shù)組運算和向量化編程,在MATLAB中,若想達到向量化編程目的,就要:盡量少地采用標量運算表達式,盡可能使用數(shù)組/矩陣運算指令替代原先那些“包含標量運算表達式的循環(huán)體”。向量化程序不但可讀性好,而且執(zhí)行速度快。,【例 3.3-1】,【例 3.3-2】,3.4 “非數(shù)”和“空”數(shù)組,非數(shù)NaN,按IEEE規(guī)定,,等運算都會產(chǎn)生非數(shù),(Not a Numbe
9、r)。該非數(shù)在MATLAB中用NaN 或 nan 記述。,NaN參與運算所得的結果也是NaN,即具有傳遞性。 非數(shù)沒有“大小”概念,因此不能比較兩個非數(shù)的大小。,1)性質(zhì),2)功用,真實記述,運算的后果,避免可能因,運算而造成程序執(zhí)行的中斷,在測量數(shù)據(jù)處理中,可以用來標識“野點(非正常點)”,在數(shù)據(jù)可視化中,用來裁剪圖形。,【例3.4-1】,【例3.4-2】,“空”數(shù)組,空”數(shù)組是MATLAB為操作和表述需要而專門設計的一種數(shù)組。,在沒有“空”數(shù)組參與運算時,計算結果中的“空”可以合理地解釋“所得結果的含義”。,運用“空”數(shù)組對其他非空數(shù)組賦值,可以使數(shù)組變小,但不能改變那 數(shù)組的維數(shù)。,1)
10、功用,不要把“空”數(shù)組與全零數(shù)組混淆。這是兩個不同的概念。 不要把“空”數(shù)組看成“虛無”。它確實地存在。利用which, who, whos, 以及變量瀏覽器都可以驗證它的存在。 唯一能正確判斷一個數(shù)組是否“空”數(shù)組的指令是isempty。 “空”數(shù)組在運算中不具備傳遞性。對運算中出現(xiàn)的“空”結果,解釋要謹慎。,2)說明,【例3.4-3】,3.5 關系操作和邏輯操作,在程序流控制中,在邏輯、模糊邏輯推理中,都需要對一類是非問題作出“是真,是假”的回答。為此,MATLAB設計了關系操作、邏輯操作和一些相關函數(shù)。,在所有關系表達式和邏輯表達式中,作為輸入的任何非0數(shù)都被看作是“邏輯真”,而只有0才被認為是“邏輯假”。 所有關系表達式和邏輯表達式的計算結果,即輸出,是一個由0和1組成的“邏輯數(shù)組(Logical Array)”。在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年菏澤市腫瘤醫(yī)院(菏澤市公共衛(wèi)生臨床中心)第二批公開招聘備案制工作人員備考題庫及參考答案詳解1套
- 2026年北京市第九十九中學招聘備考題庫及答案詳解參考
- 2026年東莞市松山湖第一小學面向全國招聘備考題庫參考答案詳解
- 2026年寧馬城際招聘70人大??蓤髠淇碱}庫參考答案詳解
- 2026年蘭州空間技術物理研究所招聘備考題庫及一套完整答案詳解
- 2026年司法鑒定所鑒定助理招聘備考題庫完整答案詳解
- 2026年上海世外教育附屬松江區(qū)車墩學校教師招聘備考題庫完整參考答案詳解
- 2026年岱東鎮(zhèn)下屬企業(yè)公開招聘工作人員備考題庫有答案詳解
- 2026年廣州市黃埔軍校小學招聘備考題庫及參考答案詳解一套
- 物業(yè)品質(zhì)部內(nèi)控制度
- 生鮮聯(lián)營合同范本
- 2025重慶川儀自動化股份有限公司招聘56人筆試參考題庫附帶答案詳解(3卷合一版)
- 2025年浙江乍浦經(jīng)濟開發(fā)區(qū)(嘉興港區(qū))區(qū)屬國有公司公開招聘28人筆試考試備考試題及答案解析
- 論文發(fā)表合同協(xié)議
- 《SJT 11319-2005錫焊料動態(tài)條件氧化渣量定量試驗方法》(2025年)實施指南
- 2025年長者教育與培訓項目可行性研究報告
- 全國園林綠化養(yǎng)護概算定額(2018版)
- 2025年秋季學期國家開放大學《理工英語4》形考任務綜合測試完整答案(不含聽力部分)
- 銷售人員銷售技能培訓
- 裝載機事故警示教育培訓
- 超市服務禮儀標準培訓
評論
0/150
提交評論