版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.1數(shù)學(xué)軟件與實驗數(shù)學(xué)軟件與實驗-matlab.2推薦參考書推薦參考書.3推薦參考書推薦參考書.4 一個可視化的計算程序, 廣泛使用于從個人計算機到超級計算機范圍內(nèi)的各種計算機上 包括命令控制、可編程,上百個預(yù)先定義命令和函數(shù) 有許多強有力的命令, 能完成大量的高級矩陣處理 強有力的二維、三維圖形工具 能與其他程序一起使用 25個(不斷增加中)不同的工具箱應(yīng)用于特殊的應(yīng)用領(lǐng)域 工業(yè)研究與開發(fā)的有力工具 數(shù)學(xué)教學(xué), 尤其線代, 數(shù)值分析, 科學(xué)計算方面的教研工具 電子學(xué), 控制理論, 物理學(xué)等工程科學(xué)方面的教研工具 經(jīng)濟學(xué), 化學(xué)和生物學(xué)等有計算問題的所有領(lǐng)域中的教學(xué)與研究 名字取自矩陣實驗室(
2、matrix laboratory).5 不是萬能的解決工具 不是最高性能的編程語言 受計算條件限制, 不能解決超大型實際問題 不能解決工具箱之外的問題種類 - 需要編寫接口、算法甚至工具箱.6.7.8.9 數(shù)值分析 數(shù)值和符號計算 工程與科學(xué)繪圖 控制系統(tǒng)的設(shè)計與方針 數(shù)字圖像處理 數(shù)字信號處理 通訊系統(tǒng)設(shè)計與仿真 財務(wù)與金融工程.10.11.12.13.14.15.16MATLAB 結(jié)合第三方軟硬件產(chǎn)品組成了在不結(jié)合第三方軟硬件產(chǎn)品組成了在不同領(lǐng)域內(nèi)的完整解決方案,實現(xiàn)了從算法開發(fā)同領(lǐng)域內(nèi)的完整解決方案,實現(xiàn)了從算法開發(fā)到實時仿真再到代碼生成與最終產(chǎn)品實現(xiàn)的完到實時仿真再到代碼生成與最終產(chǎn)
3、品實現(xiàn)的完整過程。整過程。主要的典型應(yīng)用包括:主要的典型應(yīng)用包括: 控制系統(tǒng)的應(yīng)用與開發(fā)控制系統(tǒng)的應(yīng)用與開發(fā)快速控制原型與快速控制原型與硬件在回路仿真的統(tǒng)一平臺硬件在回路仿真的統(tǒng)一平臺 dSPACE 信號處理系統(tǒng)的設(shè)計與開發(fā)信號處理系統(tǒng)的設(shè)計與開發(fā)全系統(tǒng)仿真全系統(tǒng)仿真與快速原型驗證,與快速原型驗證, TI DSP 丶丶 Lyrtech 等信等信號處理產(chǎn)品軟硬件平臺號處理產(chǎn)品軟硬件平臺 通信系統(tǒng)設(shè)計與開發(fā)通信系統(tǒng)設(shè)計與開發(fā)結(jié)合結(jié)合 RadioLab 3G 和和 Candence 等產(chǎn)品等產(chǎn)品 機電一體化設(shè)計與開發(fā)機電一體化設(shè)計與開發(fā)全系統(tǒng)的聯(lián)合仿全系統(tǒng)的聯(lián)合仿真,結(jié)合真,結(jié)合 Easy 5 丶丶
4、 Adams 等等.17緒論基礎(chǔ)知識數(shù)學(xué)運算基本編程數(shù)據(jù)顯示 及存取符號計算數(shù)值計算圖形用戶界面GUI Simulink仿真外部接口.18第一章第一章 概述概述 .19 MATLAB將計算、可視化和編程等功能集于一個易于使用的環(huán)境,并遇有如下特點: 功能強大; 簡單易學(xué); 編程效率高。.201MATLAB的發(fā)展歷程 2MATLAB的特點 3MATLAB的安裝.21 1980年,美國新墨西哥大學(xué)計算機科學(xué) 系主任Cleve 著手編寫供學(xué)生使用的子程 序接口程序,取名為MATLAB; 1984年,推出了MATLAB第一個商業(yè)版 本; 1992年,推出MATLAB 4.0版;.22 1997年,推出
5、MATLAB 5.0版; 2000年,推出MATLAB 6.0版; 2004年,推出MATLAB 7.0版; 2008年,推出MATLAB 7.6版;2012年,推出MATLAB R2012A版.23 開發(fā)環(huán)境 編程 數(shù)值處理 圖形化 圖形用戶界面 文件I/O和外部應(yīng)用程序接口.24MATLAB對PC系統(tǒng)的要求 .25 .26.27 續(xù)表.281菜單和工具欄 2命令窗口 3歷史命令窗口 4當(dāng)前工作目錄窗口 5工作空間窗口.29 本節(jié)介紹MATLAB的工作界面和基本的操作方法。 MATLAB的工作界面主要包括: 菜單; 工具欄; 命令窗口; 歷史命令窗口; 當(dāng)前工作目錄窗口; 工作空間窗口。 .
6、30.31 這里只簡單介紹默認情況下的菜單和工具欄。 【File】菜單主要用于對文件的處理。 【Edit】菜單主要用于復(fù)制、粘貼等操 作,與一般Windows程序的類似,在此 不作詳細介紹。 .32 【Debug】菜單用于調(diào)試程序。 【Desktop】菜單用于設(shè)置主窗口中需要 打開的窗口。 【W(wǎng)indow】菜單列出當(dāng)前所有打開的窗 口。 【Help】菜單用于選擇打開不同的幫助系 統(tǒng)。 .33 當(dāng)用戶單擊“Current Directory”窗口時,使得該窗口成為活動窗口,同時增加一個如下圖所示的菜單【View】,用于設(shè)置如何顯示當(dāng)前目錄下的文件。.34 當(dāng)用戶單擊“Workspace”窗口時,
7、使得該窗口成為活動窗口,同時增加如下圖所示的菜單【View】和【Graphics】。.35 命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。 MATLAB命令窗口中的“”為運算提示 符,表MATLAB處于準備狀態(tài)。.36 當(dāng)在提示符后輸入一段程序或一段運算式 后【Enter】鍵,MATLAB會給出計算結(jié) 果,并再次進入準備狀態(tài)(所得結(jié)果將被 保存在工作空間窗口中)。 單擊命令窗口右上角的“ ”按鈕,可以使 命令窗口脫離主窗口而成為一個獨立的窗 口。 .37 主要用于記錄所有執(zhí)行過的命令; 保留自安裝后所有使用過命令的歷史記 錄,并標明使用時間; 可以通過用鼠標
8、雙擊某一歷史命令來重新 執(zhí)行該命令; 可以成為一個獨立的窗口。.38 通過上下文菜單,可刪除或粘貼歷史記錄; 可為選中的表達式或命令創(chuàng)建一個M文件; 可為表達式或命令創(chuàng)建快捷按鈕。 .39 當(dāng)前工作目錄是指MATLAB運行文件時的目錄。只有在當(dāng)前工作目錄或搜索路徑下的文件、函數(shù)可以被運行或調(diào)用。如下圖所示。.40 工作空間窗口將顯示目前內(nèi)存中所有的MATLAB變量的變量名、數(shù)據(jù)結(jié)構(gòu)、字節(jié)數(shù)以及類型等信息,如下圖所示。.41 1常用命令 2輸入內(nèi)容的編輯 3標點 4搜索路徑與擴展.42 通用命令是MATLAB中經(jīng)常使用的一組命令,這些命令可以用來管理目錄、函數(shù)、變量、工作空間、文件和窗口等。下面
9、對這些命令進行介紹。.43 常用命令的功能.44 在命令窗口中,MATLAB提供了控制光標位置和進行簡單編輯的鍵盤按鍵,部分常用的鍵盤按鍵及其功能如下表所示。.45 在MATLAB中,一些標點符號被賦予了特殊的功能,如下表所示。.46 用戶自己書寫的函數(shù)有可能并沒有保存在搜索路徑下。要解決這個問題,只需把程序所在的目錄擴展成MATLAB的搜索路徑即可。 .47(1)查看MATLAB的搜索路徑 選擇MATLAB主窗口中的【File】|【Set Path】菜單,進入【設(shè)置搜索路徑】對話框。通過該對話框可為MATLAB添加或刪除搜索路徑。 .48 在命令窗口中輸入path或genpath可得到MAT
10、LAB的所有搜索路徑,具體代碼如下:.49(2)設(shè)置MATLAB的搜索路徑 方法一:在MATLAB命令窗口中輸入 editpath或pathtool命令或通過【File】 |【Set Path】菜單,進入 “設(shè)置搜索路 徑”對話框,通過該對話框編輯搜索路 徑。.50 方法二:在命令窗口執(zhí)行“path(path, D:Study )”,然后通過 “設(shè)置搜索路 徑”對話框查看“D:Study”是否在搜索路 徑中。 方法三:在命令窗口執(zhí)行“addpath D:Study- end”,將新的目錄加到整個 搜索路徑的末尾。如果將end改為 begin,可以將新的目錄加到整個搜索路 徑的開始。.51 1命
11、令窗口查詢幫助系統(tǒng) 2聯(lián)機幫助系統(tǒng) 3聯(lián)機演示系統(tǒng).52 MATLAB為用戶提供了非常完善的幫助系統(tǒng)。下面分別介紹MATLAB的三類幫助系統(tǒng)。 .53常見的幫助命令.54.55.56 用戶可以通過下述方法進入MATLAB的聯(lián)機幫助系統(tǒng)。 直接單擊MATLAB主窗口中的“ ”按鈕; 選中Help菜單的前4項中的任意一項; 在命令窗口中執(zhí)行helpwin、helpdesk 或doc。.57 可以通過以下方式打開聯(lián)機演示統(tǒng)。 選擇MATLAB主窗口菜單的【Help】| 【Demos】選項; 在命令窗口輸入demos; 直接在幫助頁面上選擇Demos頁。.58.59.60020406080100-40
12、-2002040Magnitude (dB)Frequency (Hertz)00.20.40.60.81-1-0.500.51WaveformTime (Seconds) Click and drag waveform to changefundamental frequency and amplitude.61 下面以一個簡單的例子展示如何使用MATLAB進行簡單的數(shù)值計算。 .62 .63.641簡述MATLAB的主要功能。2在命令窗口輸入“w=3+2”,然后依次使用clear和clc命 令,分別觀察命令窗口、工作空間窗口和歷史命令窗口 的變化。3將硬盤上一已有目錄,加入到搜索路徑,并將
13、其設(shè)置為 當(dāng)前工作目錄。4通過命令窗口,查詢函數(shù)sin()的用法。5通過聯(lián)機幫助系統(tǒng),查詢函數(shù)inv()的用法。.656通過聯(lián)機演示系統(tǒng),查詢并運行“Control Systems Toolboxes”下的“Case Studies”中的“Yaw Damper for a 747 Aircraft”演示程序。7在命令窗口依次執(zhí)行“w=5;”、“p=2*w”和“q=p+w”。8在命令窗口同時執(zhí)行下述代碼: w=5; p=2*w q=p+w.66第二章第二章 基礎(chǔ)知識基礎(chǔ)知識.67 本章著重介紹的MATLAB基礎(chǔ)知識包括: 數(shù)據(jù)類型; 基本矩陣操作; 運算符; 字符串處理函數(shù)。.68 .69 1數(shù)
14、值類型 2邏輯類型 3字符和字符串類型 4結(jié)構(gòu)體類型.70 MATLAB中定義了很多種數(shù)據(jù)類型。本節(jié)討論MATLAB中主要的數(shù)據(jù)類型及其使用方法。 在MATLAB中有15種基本數(shù)據(jù)類型,每種基本數(shù)據(jù)類型均以數(shù)組/矩陣的形式出現(xiàn)。 .71 數(shù)值類型包含 整數(shù); 浮點數(shù); 復(fù)數(shù); Inf; NaN.72 MATLAB支持1、2、4和8字節(jié)的有符號整數(shù)和無符號整數(shù)。數(shù)據(jù)類型的名稱、表示范圍和轉(zhuǎn)換函數(shù)如下表所示。.73 MATLAB有單精度和雙精度兩種浮點數(shù)。其名稱、存儲空間、表示范圍和轉(zhuǎn)換函數(shù)如下表所示。 .74 復(fù)數(shù)包含實部和虛部。在MATLAB中可以用i或者j來表示虛部。.75 Inf和-Inf
15、分別表示正無窮大和負無窮 大。除法運算中除數(shù)為0或者運算結(jié)果溢 出都會導(dǎo)致inf或-inf的運行結(jié)果。 在MATLAB中用NaN(Not a Number) 來表示一個既不是實數(shù)也不是復(fù)數(shù)的數(shù) 值。.76 在MATLAB中邏輯類型包含true和false,分別由1和0表示。在MATLAB中用函數(shù)logical()將任何非零的數(shù)值轉(zhuǎn)換為true(即1),將數(shù)值0轉(zhuǎn)換為false(即0)。.77 在MATLAB中,數(shù)據(jù)類型(char)表示一個字符。一個char類型的1n數(shù)組稱為字符串string。 .78 結(jié)構(gòu)體類型是一種由若干屬性(field)組成的MATLAB數(shù)組,其中的每個屬性可以是任意數(shù)據(jù)
16、類型。.79 下圖表示了一個結(jié)構(gòu)體(Personel),它包括3個屬性(Name、Score和Salary),其中Name是一個字符串,Score是一個數(shù)值,Salary是一個15的向量。 .80 構(gòu)造一個結(jié)構(gòu)體(數(shù)組)有兩種方法。 利用賦值語句 通過賦值語句為結(jié)構(gòu)體中的每個指定屬性賦值,從而構(gòu)造結(jié)構(gòu)體。 .81 利用函數(shù)struct() 在MATLAB中,函數(shù)struct()的具體用法如下: 其中,strArray、field和val分別表示結(jié)構(gòu)體名、屬性名和相應(yīng)的屬性值。 .82 通過結(jié)構(gòu)體數(shù)組的下標引用,可以訪問任意元素的所有屬性,同時可以對屬性進行賦值。 .83 2.2.1 矩陣的構(gòu)造
17、 2.2.2 矩陣大小的改變 2.2.3 矩陣下標引用 2.2.4 矩陣信息的獲取 2.2.5 矩陣結(jié)構(gòu)的改變 2.2.6 稀疏矩陣.84 在MATLAB中,所有的數(shù)據(jù)均以二維、三維或高維矩陣的形式存儲,每個矩陣的單元可以是數(shù)值類型、邏輯類型、字符類型或者其他任何數(shù)據(jù)類型。 對于標量,可以用11矩陣來表示; 對于一組n個數(shù)據(jù),可以用1n矩陣來表 示; 對于多維數(shù)組,可以用多維矩陣來表示。 在MATLAB中,用命令whos來顯示數(shù)據(jù)的類型、存儲空間等信息。 .85 1簡單矩陣構(gòu)造 2特殊矩陣構(gòu)造 3向量構(gòu)造.86 最簡單的方法是采用矩陣構(gòu)造符“”。構(gòu)造1n矩陣(行向量)時,可以將各元素依次放入矩
18、陣構(gòu)造符內(nèi),并且以空格或者逗號分隔;構(gòu)造mn矩陣時,每行如上處理,并且行與行之間用分號分隔。.87.88 在MATLAB中還提供一些函數(shù)用來構(gòu)造特殊矩陣,這些函數(shù)如下表所示。 .89續(xù)表.90.91 最 簡 單 的 方 法 是 采 用 向 量 構(gòu) 造 符“:”,其常用的用法如下。(1)a:b返回以a為起點,以1為步長,且所有取值在a與b之間的向量。 .92(2)a:s:b 返回以a為起點,以s為步長,且所有取值在a與b之間的向量。 .93 1矩陣的合并 2矩陣行列的刪除.94 矩陣的合并就是把兩個或者兩個以上的矩陣連接成一個新矩陣。矩陣構(gòu)造符 可用于構(gòu)造矩陣,并可以作為一個矩陣合并操作符。 表
19、達式C=A B在水平方向合并矩陣A和B; 表達式C=A;B在豎直方向合并矩陣A和B。.95 具有相同行數(shù)的兩個矩陣,合并為一個新矩陣 不具有相同行數(shù)的兩個矩陣,不允許合并為一個新矩陣 .96 除了矩陣合并符“”外,還可以使用矩陣合并函數(shù)。矩陣合并函數(shù)的描述和基本調(diào)用格式如下表所示。 .97.98 要刪除矩陣的某一行或者是某一列,只需將該行或者該列賦予一個空矩陣即可。 .991訪問單個元素2線性引用元素3訪問多個元素.100 本小節(jié)將介紹通過矩陣下標來存取元素值的方法,包括訪問單個元素、線性引用元素和訪問多個元素等。 .101.102.103 對于矩陣A,線性引用元素的格式為 A(k)。通常這樣
20、的引用用于行向量或列 向量,但也可用于二維矩陣。 MATLAB按列優(yōu)先排列的一個長列向量格 式(線性引用元素)來存儲矩陣元素。.104.105 操作符“:”可以用來表示矩陣的多個元素。若A是二維矩陣,其主要用法如下: A(:,:) 返回矩陣A的所有元素。 A(i,:) 返回矩陣A第i行的所有元素。.106 A(i,k1:k2) 返回矩陣A第i行的自k1到k2 列的所有元素。 A(:,j) 返回矩陣A第j列的所有元素。 A(k1:k2,j) 返回矩陣A第j列的自k1到k2 行的 所有元素。 若A是多維矩陣,也可以通過類似的方法實現(xiàn)對其訪問。 .107.108.109 1矩陣尺寸信息 2元素的數(shù)據(jù)
21、類型 3矩陣的數(shù)據(jù)結(jié)構(gòu).110 本小節(jié)介紹如何獲取矩陣的信息,包括矩陣的尺寸、元素的數(shù)據(jù)類型和矩陣的數(shù)據(jù)結(jié)構(gòu)等。 .111 矩陣尺寸函數(shù)可以得到矩陣的形狀和大小信息,這些函數(shù)如下表所示。 .112.113 查詢元素數(shù)據(jù)類型信息的部分函數(shù)如下表所示。.114.115 判斷矩陣是否為某種指定數(shù)據(jù)結(jié)構(gòu)的函數(shù)如下表所示。.116改變矩陣結(jié)構(gòu)的函數(shù)表 .117.118.119 1稀疏矩陣的創(chuàng)建 2查看稀疏矩陣 3稀疏矩陣的運算規(guī)則.120 在MATLAB中,可以用滿矩陣存儲方 式和稀疏矩陣存儲方式來存儲矩陣。 若一個矩陣只有少數(shù)的元素非零,稱為稀 疏矩陣。稀疏矩陣非零元素及其對應(yīng)的下 標來表示。 用戶可
22、以創(chuàng)建雙精度、復(fù)數(shù)和邏輯等類型 的稀疏矩陣。 .121 在MATLAB中,用函數(shù)sparse()實現(xiàn)滿矩陣到稀疏矩陣的轉(zhuǎn)換。.122 在MATLAB中用函數(shù)full()實現(xiàn)稀疏矩陣 到滿矩陣的轉(zhuǎn)換。 在MATLAB中,還可以用函數(shù)sparse() 直接創(chuàng)建稀疏矩陣,其具體用法如下。 S = sparse(i,j,s,m,n),其中,i和j分別是稀疏矩陣非零元素的行和列下標,s為相應(yīng)的非零元素的值,m和n分別是矩陣的行數(shù)和列數(shù)。 .123 MATLAB還提供一些函數(shù)用于創(chuàng)建特殊稀疏矩陣,這些函數(shù)如下表所示。 .124 MATLAB提供一些函數(shù)用于查看稀疏矩陣的信息,如下表所示。 .125 下面的
23、例子都是基于MATLAB自帶的稀疏矩陣west0479。 .126.127.128 在MATLAB中的各種命令和函數(shù)都可以用于稀疏矩陣的運算,并且遵循如下的一些約定。(1)把矩陣變?yōu)闃肆炕蛘叨ㄩL向量的函數(shù)總 是給出滿矩陣;(2)對于標量或者定長向量變換到矩陣的函 數(shù),如函數(shù)zeros()、ones()、 eye()、rand()等總是給出滿矩陣;.129(3)從矩陣到矩陣的變換函數(shù)將以原矩陣的 形式出現(xiàn);(4)在參與矩陣擴展的子矩陣(如 A B;C D)中,只要有一個是稀疏矩陣,那 么所得的結(jié)果也是稀疏矩陣;(5)在矩陣引用中,將仍以原矩陣形式給出 結(jié)果。 .1302.3.1 算數(shù)運算符2.3
24、.2 關(guān)系運算符2.3.3 邏輯運算符2.3.4 運算優(yōu)先級.131 在MATLAB中提供了豐富的運算符,包括算數(shù)、關(guān)系和邏輯等3種運算符。 .132 在MATLAB中,算數(shù)運算符的用法和功能如下表所示。 .133續(xù)表.134補充說明AB的用法如下: 當(dāng)A和B都為矩陣時,此運算無定義; 當(dāng)A和B都是標量時,表示標量A的B次 冪; 當(dāng)A是標量且B為矩陣時,表示標量A的 B中各元素次冪; 當(dāng)A為方陣且B為正整數(shù)時,表示矩陣A 的B次乘積;.135 當(dāng)A為方陣且B為負整數(shù)時,表示矩陣A逆 的負B次乘積; 當(dāng)A為可對角化的方陣且B為非整數(shù)時,有 如下表達式:.136.137.138 MATLAB中關(guān)系
25、運算符的用法和功能如下表所示。 .139 值得注意的是,關(guān)系運算符只針對兩個相同長度的矩陣,或其中之一是標量的情況進行運算。 對于前者,是指兩個矩陣的對應(yīng)元素進行比 較,返回具有相同長度的矩陣; 對于后者,是指這個標量與另一個矩陣的每元 素進行運算。 關(guān)系運算C=f(A,B)的運算結(jié)果只有0和1兩種情況,其中,函數(shù)f()表示關(guān)系運算符,0表示不滿足條件,1表示滿足條件。 .140.141 MATLAB提供元素方式和比特方式等邏輯運算符。元素方式邏輯運算符的用法和功能如下表所示,其中例子采用如下矩陣: .142 元素方式邏輯運算符& 、 | 和 與函數(shù)and()、or()和not()是等
26、價的。 比特方式邏輯運算符只接受邏輯和非負整數(shù)類型的輸入變量,它是針對輸入變量的二進制進行邏輯運算。.143 比特方式邏輯運算符的用法和功能如下表所示,表中例子采用A = 28和B = 200,其對應(yīng)的二進制分別為11100和。.144 運算符的優(yōu)先級決定表達式求值順序; 具有相同優(yōu)先級的運算符從左到右依次進 行運算; 不同優(yōu)先級的運算符采用先進行優(yōu)先高的 運算。 .145 由表中可以看到,括號的優(yōu)先級別最高,因此可以用括號來改變默認的優(yōu)先等級。 .146.147 2.4.1 字符串的構(gòu)造 2.4.2 字符串的比較 2.4.3 字符串的查找和替換 2.4.4 字符串與數(shù)值間的轉(zhuǎn)換.148 MA
27、TLAB提供了豐富的字符串操作,包括字符串的創(chuàng)建、合并、比較、查找以及與數(shù)值之間的轉(zhuǎn)換。.149 在MATLAB中,可以用一對單引號來表示字符串。 .150.151.152.153.154 1字符串比較函數(shù) 2用關(guān)系運算符比較字符串.155 在MATLAB中提供了對字符串、字符串?dāng)?shù)組和字符子串的比較功能。 .156 在MATLAB中,字符串比較函數(shù)如下表所示。 .157.158 在MATLAB中,可以對字符串運用關(guān)系運算符,但要求兩個字符串具有相同的長度,或者其中一個是標量。 .159.160 MATLAB提供的一些字符串查找和替換函數(shù)如下表所示。 .161.162 MATLAB提供的一些數(shù)值
28、轉(zhuǎn)換為字符串函數(shù)如下表所示。 .163續(xù)表.164 MATLAB提供的一些字符串轉(zhuǎn)換為數(shù)值函數(shù)如下表所示。 .165.1661計算復(fù)數(shù)3+4i與56i的乘積。2構(gòu)建結(jié)構(gòu)體Students,屬性包含Name、Age 和Email,數(shù)據(jù)包括Zhang,18, , 、 Wang,21, 和Li, ,構(gòu)建后讀取 所有Name屬性值,并且修改Zhang的Age屬 性值為19。.1673用滿矩陣和稀疏矩陣存儲方式分別構(gòu)造下述矩 陣:4采用向量構(gòu)造符得到向量1,5,9,41。5按水平和豎直方向分別合并下述兩個矩陣: .1686 分別刪除第5題兩個結(jié)果的第2行。7 分別將第5題兩個結(jié)果的第2行最后3列的數(shù)值
29、改為11 12 13。8 分別查看第5題兩個結(jié)果的各方向長度。9 分別判斷pi是否為字符串和浮點數(shù)。10分別將第5題兩個結(jié)果均轉(zhuǎn)換為29的矩陣。11計算第5題矩陣A的轉(zhuǎn)秩。12分別計算第5題矩陣A和B的A+B、A.* B和 AB。13判斷第5題矩陣A和B中哪些元素值不小于4。.16914分別用函數(shù)strcat()和矩陣合并符合并如下字 符串: The picture is 和 very good 。15創(chuàng)建字符串?dāng)?shù)組,其中元素分別為Picture 和 Pitch 。16在第14題結(jié)果中查找字符串e。17在第15題結(jié)果中匹配字符串Pi。18將字符串very good轉(zhuǎn)換為等值的整數(shù)。19將十進制
30、的50轉(zhuǎn)換為二進制的字符串。20將十六進制的字符串50轉(zhuǎn)換為三進制的整 數(shù)。 .170第三章第三章 數(shù)學(xué)運算數(shù)學(xué)運算.171 本章將著重介紹MATLAB中與數(shù)學(xué)運算有關(guān)的函數(shù)和概念。 在MATLAB中一切數(shù)據(jù)均能以矩陣的形式表示: 針對矩陣整體的數(shù)學(xué)運算,稱之為矩陣運 算; 針對矩陣元素的數(shù)學(xué)運算,稱之為矩陣元 素運算。 .172 3.1 矩 陣 運 算 3.2 矩陣元素運算 習(xí) 題.173 3.1.1 矩陣分析 3.1.2 線性方程組 3.1.3 矩陣分解 3.1.4 矩陣的特征值和特征向量 3.1.5 矩陣相似變換 3.1.6 非線性運算.174 矩陣運算是線性代數(shù)中極其重要的部分,MAT
31、LAB具有強大的矩陣運算能力。 .175 1向量間的距離 2矩陣的秩 3矩陣的行列式 4矩陣的跡 5矩陣的化零矩陣 6矩陣的正交空間 7矩陣的簡化梯形形式 8矩陣空間之間的角度.176 MATLAB提供的部分矩陣分析函數(shù)如下表所示。 .177.178.179 矩陣A中線性無關(guān)的列向量個數(shù)稱為列秩,線性無關(guān)的行向量個數(shù)稱為行秩??梢宰C明列秩與行秩是相等的。.180.181.182.183 矩陣的跡定義為矩陣對角元素之和。在MATLAB中用函數(shù)trace()來計算矩陣的跡。 .184 對于非滿秩矩陣A,若存在矩陣Z使得AZ = 0且ZTZ = I,則稱矩陣Z為矩陣A的化零矩陣。在MATLAB中用函
32、數(shù)null()來計算矩陣的化零矩陣。 .185 矩陣A的正交空間Q滿足QTQ = I,且矩陣Q與A具有相同的列基底。.186.187 矩陣A的簡化梯形形式為 ,其中Ir為r階單位矩陣。*0*rI.188.189 矩陣空間之間的角度代表具有相同行數(shù)的兩個矩陣線性相關(guān)程度,夾角越小代表線性相關(guān)度越高。 .190.191 線性方程組求解問題,可以表述為給定兩個矩陣A和B,求解X使得AX=B或XA=B。XA=B可以表示為AY=B,且X=Y。下面僅討論AX=B的情況。 .192.193.194 1Cholesky分解 2LU分解 3QR分解 4奇異值分解 5Schur分解.195 矩陣分解是把一個矩陣分
33、解成比較簡單或者對它性質(zhì)比較熟悉的若干矩陣的乘積的形式。 本小節(jié)將介紹幾種矩陣分解的方法。.196矩陣分解函數(shù)表.197 Cholesky分解是把對稱正定矩陣A表示為上三角矩陣R的轉(zhuǎn)置與其本身的乘積,即A = RTR。 .198.199 對于稀疏矩陣,MATLAB中用函數(shù)cholinc()計算不完全Cholesky分解,具體用法如下: R = full(cholinc(sparse (X),DROPTOL),其中DROPTOL為不 完全Cholesky分解的丟失容限; R = full(cholinc(sparse (X),0),完 全Cholesky分解。 .200 高斯消去法又稱LU分解,
34、 將任意一個方陣A分解為一個交換下三角 矩陣L和一個上三角矩陣U的乘積,即 A=LU。 交換下三角矩陣為下三角矩陣經(jīng)行變換的 結(jié)果。.201 LU分解在MATLAB中用函數(shù)lu()來實現(xiàn),具體用法如下: L,U = lu(X),X為一個方陣,L為交換 下三角矩陣,U為上三角矩陣,滿足關(guān)系 X=L*U; L,U,P = lu(X),X為一個方陣,L為下 三角矩陣,U為上三角矩陣,P為置換矩 陣,滿足關(guān)系P*X = L*U或X =P-1 *L*U。 .202 考慮線性方程組AX=B和矩陣A的LU分解,線性方程組可改寫成L*U*X=B,由于左除算符可以快速處理三角矩陣,因此:X=U(LB) 矩陣的行
35、列式和逆也可以利用LU分解來計算,如det(A)=det(L)*det(U)inv(A)=inv(U)*inv(L).203.204 對于稀疏矩陣,在MATLAB中提供了函數(shù)luinc()來做不完全LU分解,其具體用法如下: L U= luinc(X,DROPTOL),其中X、L和U 的含義與函數(shù)lu()中的變量相同,DROPTOL為 不完全LU分解的丟失容限。當(dāng)DROPTOL設(shè)為0 時,退化為完全LU分解。 L,U = luinc(X,0),0級不完全LU分解。 L,U,P = luinc(X,0),0級不完全LU分解。.205 QR分解就是將mn的矩陣A分解為mn的矩陣Q和nn的上三角矩陣
36、R的乘積,且Q*Q=I,即A=Q*R。 .206 在MATLAB中QR分解是由函數(shù)qr()來實現(xiàn),其具體用法如下: Q,R = qr(A) 滿足A=Q*R。 R = qr(A), 返回上三角矩陣R。 .207.208 奇異值分解就是將mn的矩陣A分解為A=U*S*V,其中U為mm的酉矩陣,V為nn的酉矩陣,S為mn的矩陣,并可如下表示: ,其中 , , 000S12,rdiag ( )rrank A0(1,2, )iir.209 在MATLAB中奇異值分解是由函數(shù)svd()來實現(xiàn),其具體用法如下:.210.211 Schur分解就是將復(fù)方陣A分解為A=U*L*U,其中U為酉矩陣,L為上(下)三
37、角矩陣,其對角線元素為A的特征值。 .212 在MATLAB中Schur分解是由函數(shù)schur()來實現(xiàn),其具體用法如下: U,L = schur(A),滿足A=U*L*U, 其中L為上三角矩陣。 L = schur(A),返回上三角矩陣L。 .213.214 方陣A的特征值和其對應(yīng)的特征向量滿足下式:A*=* .215 在MATLAB中用函數(shù)eig()來計算特征值和其對應(yīng)的特征向量,其具體用法如下: d = eig(A),返回矩陣A的所有特征值。 V,D = eig(A),返回矩陣A的特征值和 特征向量。 .216.217.218 1對角陣變換 2Jordan變換.219 矩陣相似變換是指,
38、對于方陣A和非奇異矩陣B可得到相似矩陣X=B-1*A*B。.220 對于方陣A,若V D=eig(A)得到的矩陣V非奇異,則A可經(jīng)過相似變換得到對角陣,即D=V-1*A*V,也稱矩陣A可對角化。 .221.222 對于方陣A,若V D=eig(A)得到的矩陣V奇異,則A經(jīng)過相似變換將不能得到對角陣,只能得到其對應(yīng)的Jordan標準型。.223.224 在MATLAB中用函數(shù)jordan()來實現(xiàn)Jordan變換,其具體用法如下: V,D = jordan(A),滿足 D=V-1*A*V。 D = jordan(A),返回矩陣A對應(yīng)的 Jordan標準型。 .225.226 1矩陣指數(shù)運算 2矩
39、陣對數(shù)運算 3矩陣開平方運算 4通用矩陣運算.227 MATLAB提供一些矩陣的非線性運算函數(shù),其功能如下表所示。 .228.229.230 矩陣對數(shù)運算是矩陣指數(shù)運算的逆運算,在MATLAB中用函數(shù)logm()來計算矩陣對數(shù),其具體用法如下: L = logm(A),返回矩陣A的對數(shù)。 .231.232 對于方陣A,可以計算它的開平方得到矩陣X,即滿足X*X=A。如果矩陣A是奇異的,它有可能不存在平方根X。 在MATLAB中,有兩種計算矩陣A平方根的方法,即A0.5和sqrtm(A)。函數(shù)sqrtm()比A0.5的運算精度更高,其具體用法如下: X = sqrtm(A),返回矩陣A的平方根X
40、。 .233.234 MATLAB提供通用矩陣運算的函數(shù)funm(),其具體用法如下: F = funm(A,fun),將指定函數(shù)fun作用 在方陣A上。 .235 可以使用的指定函數(shù)fun如下表所示。 .236.237 3.2.1 三角函數(shù) 3.2.2 指數(shù)和對數(shù)函數(shù) 3.2.3 復(fù)數(shù)函數(shù) 3.2.4 截斷和求余函數(shù) 3.2.5 特殊函數(shù).238 本節(jié)將介紹矩陣元素的數(shù)學(xué)函數(shù): 包括三角函數(shù); 指數(shù)/對數(shù)函數(shù); 復(fù)數(shù)函數(shù); 截斷/求余函數(shù); 特殊函數(shù)。.239 MATLAB提供一些三角函數(shù),其功能如下表所示。.240續(xù)表.241 MATLAB提供一些指數(shù)和對數(shù)函數(shù)。 .242指數(shù)和對數(shù)函數(shù)表
41、 .243.244 MATLAB提供一些復(fù)數(shù)函數(shù),其功能如下表所示。 .245 MATLAB提供一些截斷和求余函數(shù),其功能如下表所示。 .246.247.248 1工程函數(shù) 2數(shù)論函數(shù) 3坐標變換函數(shù).249 本小節(jié)介紹一些用途比較特殊的數(shù)學(xué)函數(shù),包括應(yīng)用于工程上的函數(shù)(工程函數(shù))、數(shù)論函數(shù)和坐標變換函數(shù)。 .250 工程函數(shù)經(jīng)常在數(shù)學(xué)、物理和工程等問題中出現(xiàn),在MATLAB中提供一些工程函數(shù)。 .251表工程函數(shù) .252.253.254 MATLAB提供一些數(shù)論函數(shù),其功能如下表所示。 .255.256 在MATLAB中提供一些坐標變換函數(shù),其功能如下表所示。 .257.2581計算矩陣A
42、的范數(shù)、行列式、秩、化零空間和正 交空間。2求解線性方程組AX=B,其中A如第1題所示, B=1 1 1 1 1T。3對矩陣A進行LU分解和Schur分解,其中A如第 1題。 17 24 1 8 50 23 5 7 14 49 4 6 13 20 43 10 12 19 21 62 11 18 25 2 56A.2594對矩陣A的前4行進行QR分解和奇異值分解,其 中A如第1題。5計算矩陣A的特征根及對應(yīng)的特征向量,判斷矩 陣A是否可對角化,其中A如第1題。6計算矩陣A的指數(shù)、開平方和余弦值,其中A如 第1題。7計算矩陣A每個元素的指數(shù)、開平方和余弦值 (元素單位為度),其中A如第1題。.26
43、08 計算復(fù)數(shù)矩陣C每個元素的模、相角和共軛。9 分別使用函數(shù)fix()、floor()、ceil()和 round(),計算第8題中的相角結(jié)果。10將2-i的模結(jié)果近似為有理數(shù),并以數(shù)值形式 顯示。11計算,其中m = 4!和n是42與35的最大公因 數(shù)。12將球坐標系中的點(1,1,1)分別轉(zhuǎn)換到笛卡爾 坐標系和極坐標系。 3+4i 2-i -i 2 -2 0C.261第四章第四章 基本編程基本編程.262 MATLAB提供豐富的函數(shù)庫,并可以進行程序設(shè)計,編寫擴展名為.m的M文件,實現(xiàn)各種程序設(shè)計功能。 MATLAB提供大量的函數(shù),包括內(nèi)建函數(shù)和自帶函數(shù)。用戶也可以利用M文件來創(chuàng)建函數(shù)、
44、函數(shù)庫和腳本。 .263.264.265 當(dāng)需要創(chuàng)建一個M文件時,可以通過【File】|【New】|【M-File】菜單進入文本編輯器界面。 當(dāng)需要打開一個M文件時,可以通過【File】|【Open】菜單進入文件選擇的目錄界面。 本章將著重介紹M文件編程的規(guī)則和注意事項。 .266 4.1.1 函數(shù) 4.1.2 腳本 4.1.3 子函數(shù)與私有函數(shù) 4.1.4 偽代碼.267 M文件有函數(shù)(Functions)和腳本(Scripts)兩種格式。 M文件可以在任意的文本編輯器中進行 創(chuàng) 建 和 編 輯 , 但 推 薦 和 默 認 使 用MATLAB自帶的文本編輯器和Notebook。 .268 M
45、ATLAB中許多常用的函數(shù)都是函數(shù)式M文件。 函數(shù)被調(diào)用時,通過獲取外部參數(shù)進行運算,并向外部返回運算結(jié)果。 函數(shù)內(nèi)部的變量都是隱含的,存放在函數(shù)本身的工作空間內(nèi)。.269.270.271.272.273.274.275 腳本也是擴展名為.m的文件,可包含MATLAB的各種命令。在命令窗口中直接鍵入此文件的文件名,MATLAB可逐一執(zhí)行文件內(nèi)的所有命令。 .276 將腳本所在目錄設(shè)置為當(dāng)前工作目錄,并在文本編輯器中打開腳本后,可通過如下方法運行腳本: 單擊【Debug】菜單下的【Run】; 單擊快捷鍵F5;單擊工具條上的圖標 。 腳本運行過程所產(chǎn)生的變量都是全局變量,都駐留在MATLAB工作空
46、間內(nèi)。 .277.278.279 結(jié)合上例,對函數(shù)和腳本進行總結(jié)如下。(1)函數(shù)名必須與文件名相同。(2)腳本沒有輸入?yún)?shù)和返回值。(3)函數(shù)可以包括零個或多個輸入?yún)?shù)和返 回值,如函數(shù)nargin和nargout包含輸 入?yún)?shù)和返回值的個數(shù)。.280(4)函數(shù)被調(diào)用時,MATLAB會為它開辟一 函數(shù)工作空間(Function workspace),用來存放中間變量, 當(dāng)執(zhí)行完函數(shù)文件的最后一條命令或 者遇到return命令時就結(jié)束該函數(shù)的 運行,返回函數(shù)的輸出,同時將臨時 工作空間清空。.281(5)在M文件中,從開頭到第一個非注釋行 之間的第一個注釋行組(之間無空行) 是幫助文本。(6)函
47、數(shù)中的變量(除特殊聲明外)都是局部變 量,而腳本中的變量都是全局變量,關(guān)于變量 的有關(guān)內(nèi)容詳見第4.2節(jié)。(7)在函數(shù)中調(diào)用腳本文件,等價于在函數(shù)中將 腳本文件的內(nèi)容粘貼在調(diào)用的位置。.282 一個M文件可以包含多個函數(shù),其中,一個是主函數(shù),其他是子函數(shù)。 主函數(shù)必須出現(xiàn)在最上方,其后可有若干子函數(shù),子函數(shù)的次序可隨意調(diào)整。主函數(shù)和各子函數(shù)的工作空間都是彼此獨立的。 私有函數(shù)是主函數(shù)的一種,它只能夠在一個特定的限定函數(shù)群中可見。.283 當(dāng)M文件中需要調(diào)用某一個函數(shù)時,MATLAB是按照以下順序來搜尋的: 檢查此函數(shù)是否是子函數(shù); 檢查此函數(shù)是否為私有目錄的函數(shù); 從所設(shè)定的搜尋路徑搜索此函數(shù)
48、。 搜索過程中,只要找到與第一個文件名相符的函數(shù)就會立即取用而停止搜索。 .284 一個M文件首次被調(diào)用時,MATLAB將對該M文件進行語法分析,并把生成的相應(yīng)偽代碼(P碼)存放在內(nèi)存中。此后當(dāng)再次調(diào)用該M文件時,將直接運行該文件在內(nèi)存中的偽代碼。偽代碼文件和原碼文件具有相同的文件名,但其擴展名為.p。 偽代碼文件不是只有當(dāng)M文件被調(diào)用時才產(chǎn)生,也可使用pcode命令預(yù)先生成。 .285 4.2.1 變量類型 4.2.2 程序控制結(jié)構(gòu).286 MATLAB的主要功能雖然是數(shù)值運算,但是它也是一個完整的程序語言,包括各種語句格式和語法規(guī)則。但與C語言不同的是,MATLAB中的變量是不需要事先定義
49、的,如前3章的例子。 .287 在MATLAB中,變量名必須以字母開頭,之后可以是任意字母、數(shù)字或下劃線,但之間不能有空格;區(qū)分大小寫;第63個字符之后的部分將被忽略。.288 除了上述命名規(guī)則外,MATLAB還提供一些特殊的變量,如下表所示。 .289 除命名規(guī)則外,變量命名時還需要注意以下兩個方面:(1)變量名不能與已有函數(shù)名相同,否則在 內(nèi)存中有該變量時將不能調(diào)用同名函 數(shù);(2)變量名不能與MATLAB預(yù)留的關(guān)鍵字和 特殊變量名相同,否則系統(tǒng)會顯示錯誤 信息。 .290 變量按照作用范圍分為局部變量和全局變量。在MATLAB中使用命令global聲明全局變量,如下所示: 需要使用指定全
50、局變量的M文件,都必須在各自的代碼中聲明此全局變量。只要存在聲明某全局變量的M文件,則全局變量存在。 .291 在使用全局變量中需要注意以下幾個方面。 在使用之前必須首先定義,建議將定義放在函 數(shù)體的首行位置。 雖然對全局變量的名稱并沒有特別的限制,但 是為了提高程序的可讀性,建議采用大寫字符 命名全局變量。 全局變量會損壞函數(shù)的獨立性,使程序的書寫 和維護變得困難,尤其是在大型程序中,不利 于模塊化,不推薦使用。 .292.293 1順序結(jié)構(gòu) 2循環(huán)結(jié)構(gòu) 3選擇結(jié)構(gòu) 4其他控制結(jié)構(gòu).294 對于實現(xiàn)任何功能的程序,均可由順序、循環(huán)和選擇3種基本結(jié)構(gòu)組合實現(xiàn)。為了更方便地設(shè)計程序,還需要一些特
51、殊的控制結(jié)構(gòu),如跳出循環(huán)結(jié)構(gòu)。下面將分別進行介紹。 .295 順序結(jié)構(gòu)就是由前至后依次執(zhí)行程序的各條代碼,直至最后一條代碼。腳本文件就是典型的順序結(jié)構(gòu)。.29601234567891000.10.20.30.40.50.60.7Step ResponseTime (sec)Amplitude.297 循環(huán)結(jié)構(gòu)是按照給定的條件,重復(fù)執(zhí)行指定的代碼。該結(jié)構(gòu)一般用于有規(guī)律的重復(fù)運算。在MATLAB中包括for循環(huán)和while循環(huán)。 .298.299.300.301.302.303 選擇結(jié)構(gòu)是根據(jù)給定的條件來執(zhí)行不同的代碼。在MATLAB中有if-else-end和switch-case-otherw
52、ise兩種結(jié)構(gòu)。 .304.305.306.307.308.309 在程序設(shè)計中經(jīng)常遇到提前終止循環(huán)、跳出子程序、顯示出錯信息等情況,主要有continue、break、return、echo、error、trycatch等。下面分別對各結(jié)構(gòu)進行介紹。 .310 其作用是結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的代碼,接著進行下一次是否執(zhí)行循環(huán)的判斷。 .311 它的作用是終止本次循環(huán),跳出所在層循環(huán)。 .312.313.314.315 此命令可使正在運行的函數(shù)正常退出,并返回調(diào)用它的代碼段繼續(xù)運行,它也可強制結(jié)束該函 數(shù) 的 執(zhí) 行 。 如 M A T L A B 自 帶 函 數(shù)showopce
53、vents() 。 .316 執(zhí)行M文件時,通常在命令窗口是看不到執(zhí)行過程的,但在特殊情況下(比如演示)要求M文件的每條命令都要顯示出來。這時可以用echo命令實現(xiàn)這樣的功能。 .317 對于腳本,echo命令可以用以下方式來實現(xiàn): .318 對于函數(shù),echo命令可以用以下方式來實現(xiàn): .319.320.321.322 此命令用來提示并接收用戶從鍵盤輸入數(shù)據(jù)、字符串或表達式的值,語法規(guī)則如下: .323.324 此命令將停止文件的執(zhí)行并將控制權(quán)交給鍵盤,此時命令窗口的提示符由“”變成“K”,當(dāng)輸入return后,控制權(quán)將交回文件。該命令對程序的調(diào)試和在程序運行中修改變量值都很方便。 .325
54、 此命令用于暫時中止程序的運行。該命令對程序的調(diào)試和查詢中間變量值時很方便。該命令的語法規(guī)則如下: .3264.3.1 直接調(diào)試法4.3.2 工具調(diào)試法.327 在編譯和運行程序時出現(xiàn)錯誤(警告)無法避免,因此掌握程序調(diào)試的方法和技巧對提高工作效率很重要。 下面針對語法錯誤和邏輯錯誤推薦兩種調(diào)試方法,即直接調(diào)試法和工具調(diào)試法。 .328 對于簡單的程序往往采用直接調(diào)試法,通常采取的措施如下。(1)通過分析后,將重點懷疑語句后的分號 刪掉,將結(jié)果顯示出來,然后與預(yù)期 值進行比較。(2)單獨調(diào)試函數(shù)時,將函數(shù)聲明行注釋掉,并 定義輸入變量的值,然后以腳本方式運行,這 樣可保存中間變量,進而進行分析
55、和找出錯 誤。.329(3)在程序中的適當(dāng)位置添加輸出變量值的 代碼。(4)在程序中的適當(dāng)位置添加keyboard命 令。 復(fù)雜的程序,必須采用工具調(diào)試法,即 借 助 M AT L A B 提 供 的 工 具 調(diào) 試 器(Debugger)進行調(diào)試。 .330 1以命令行為主的程序調(diào)試 2以圖形界面為主的程序調(diào)試.331 MATLAB提供了調(diào)試程序的工具,利用這些工具可以提高編程的效率,包括命令行的調(diào)試函數(shù)和圖形界面的菜單命令。 .332 以命令行為主的程序調(diào)試手段具有通用性,可以適用于各種平臺,它主要是應(yīng)用MATLAB提供的調(diào)試命令。 在命令窗口輸入help debug可以看到對于這些命令的
56、簡單描述,下面分別進行介紹。 .333 這是最重要的部分,可以利用它來指定程序代碼的斷點,使得程序在斷點前停止執(zhí)行,并進入調(diào)試模式,從而可以檢查當(dāng)前各個變量的值。 .334 dbstop in mfile 在文件名為mfile的M文件的第一個可執(zhí)行語句前設(shè)置斷點。 dbstop in m lineno 在文件名為mfile的M文件的第lineno行設(shè)置斷點。如果第lineno行為非執(zhí)行語句,則在其后的第一個可執(zhí)行語句前設(shè)置斷點。.335 dbstop in m subfun 在文件名為mfile的M文件的子程序subfun的第一個可執(zhí)行語句前設(shè)置斷點。 dbstop if error 在程序運
57、行遇到錯誤時,自動設(shè)置斷點。這里的錯誤不包括trycatch之間的錯誤。.336 dbstop if all error 在程序運行遇到錯誤時,自動設(shè)置斷點。這里的錯誤包括trycatch之間的錯誤。 dbstop if warning 在程序運行遇到警告時,自動設(shè)置斷點。.337 dbstop if caught error 在程序運行trycatch間代碼遇到錯誤時,自動設(shè)置斷點。 dbstop if naninf 或 dbstop if infnan 當(dāng)程序運行遇到無窮值或者非數(shù)值時,自動設(shè)置斷點。 .338.339 在命令窗口輸入dbstop in function8,并打開文件fun
58、ction8.m就可看到如下圖所示的界面,它在第一個可執(zhí)行語句前設(shè)置了斷點。 .340 單擊圖中紅點,會發(fā)現(xiàn)紅點被取消,此時回復(fù)到初始狀態(tài)。然后在命令窗口依次 輸 入 d b s t o p i f e r r o r 和function8(magic(3),可得到如下的運行結(jié)果和如下圖所示的界面。 .341.342 dbclear all 清除所有M文件中的所有斷點。 dbclear all in mfile 清除文件名為mfile的M文件中的所有斷點。.343 dbclear in mfile 清除文件名為mfile的M文件中第一個可執(zhí)行語句前的斷點。 dbclear in m linen
59、o 清除文件名為mfile的M文件中第lineno行語句前的斷點。.344 dbclear in m subfun 清除文件名為mfile的M文件中子程序subfun的第一個可執(zhí)行語句前的斷點。 dbclear if error 清除由dbstop if error設(shè)置的斷點。 dbclear if warning 清除由dbstop if warning設(shè)置的斷點。.345 dbclear if naninf 清除由dbstop if naninf設(shè)置的斷點。 dbclear if infnan 清除由dbstop if infnan設(shè)置的斷點。.346 dbcont 此命令可從斷點處恢復(fù)程
60、序的執(zhí)行,直到遇到程序的另一個斷點或錯誤。 .347 dbstack 此命令顯示M文件名和斷點產(chǎn)生的行號、調(diào)用此M文件的文件名和行號等,直到最高層的M文件,即列出了函數(shù)調(diào)用的堆棧。 .348 dbstatus 此命令可列出所有的斷點,包括錯誤、警告、nan和inf等。 dbstatus mfile 此命令可列出文件名為mfile的M文件中的所有斷點。 .349 dbstep 執(zhí)行當(dāng)前M文件下一個可執(zhí)行語句。 dbstep nlines 執(zhí)行當(dāng)前M文件下nlines行可執(zhí)行語句。.350 dbstep in 當(dāng)下一條可執(zhí)行語句是對另一個函數(shù)的調(diào)用,此命令將從被調(diào)用函數(shù)的第一個可執(zhí)行語句執(zhí)行。 dbste
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年環(huán)保技術(shù)與設(shè)備購銷合同
- 2024年版餐廳后廚管理合同2篇
- 《走上辯論臺》教案
- 2024年廣告創(chuàng)意設(shè)計與執(zhí)行合同模板3篇
- 小學(xué)生語文學(xué)習(xí)計劃
- 存量房買賣合同(15篇)
- 中國轉(zhuǎn)椅坐墊項目投資可行性研究報告
- 體育工作計劃范文合集五篇
- 員工安全生產(chǎn)承諾書
- 網(wǎng)絡(luò)大學(xué)生實習(xí)報告合集7篇
- 2024年度通信設(shè)備維修服務(wù)合同范本3篇
- 安恒可信數(shù)據(jù)空間建設(shè)方案 2024
- 2024年學(xué)校與家長共同促進家校合作發(fā)展協(xié)議3篇
- C預(yù)應(yīng)力錨索框架梁施工方案(完整版)
- 參加團干部培訓(xùn)心得體會
- 中華民族共同體概論專家講座第一講中華民族共同體基礎(chǔ)理論
- 湖北省襄陽市2023-2024學(xué)年高一上學(xué)期期末考試化學(xué)試題(含答案)
- 浙江省金華市十校2023-2024學(xué)年高一上學(xué)期1月期末考試物理試題 含解析
- 物業(yè)管理師考試題庫單選題100道及答案解析
- 校園智能安防系統(tǒng)安裝合同
- 2024年專利代理人專利法律知識考試試卷及參考答案
評論
0/150
提交評論