




已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
M 1 Matlab及其應(yīng)用 鮑文哈爾濱工業(yè)大學(xué)先進(jìn)動(dòng)力控制與可靠性研究所baowen 哈爾濱工業(yè)大學(xué)研究生教學(xué)課程 M 2 1課程內(nèi)容簡(jiǎn)介 MATLAB基礎(chǔ)基于matlab的數(shù)值分析繪制圖形符號(hào)計(jì)算動(dòng)態(tài)系統(tǒng)仿真 Simulink基礎(chǔ)與其它程序交互 轉(zhuǎn)換為c 編譯 實(shí)時(shí)控制最優(yōu)化方法 M 3 2Matlab的學(xué)習(xí)方法 必須做大量的練習(xí) 熟悉其中的函數(shù)聯(lián)系和自己的課題相關(guān) 深刻的體會(huì)多看幫助文件 又一本好的參考書會(huì)提問題 尋求大家的幫助記住 Matlab可以做很多事情 M 4 學(xué)會(huì)Matlab將改變你的一生 網(wǎng)絡(luò)對(duì)你的改變將遠(yuǎn)遠(yuǎn)的超過一臺(tái)獨(dú)立的計(jì)算機(jī) M 5 OK Nowbegin M 6 MATLAB基礎(chǔ)及其應(yīng)用 第一講MATLAB基礎(chǔ) 哈爾濱工業(yè)大學(xué)動(dòng)力工程控制與仿真研究所baowen 概述MATLAB基本使用MATLAB的基本矩陣分析矩陣操作流程控制 M 7 一 概述 MATLAB是一種交互式的以矩陣為基礎(chǔ)的系統(tǒng)計(jì)算平臺(tái) 它用于科學(xué)和工程的計(jì)算與可視化 它的優(yōu)點(diǎn)在于快速開發(fā)計(jì)算方法 而不在于計(jì)算速度 M 8 1 1MATLAB的出現(xiàn) 70年代中期 CleveMoler和他的同事開發(fā)了LINPACK和EISPACK的Fortran子程序庫(kù)70年代末期 CleveMoler在新墨西哥大學(xué)給學(xué)生開線性代數(shù) 為學(xué)生編寫了接口程序 這程序取名為MATLAB 即MATrixLABoratory1983年春天 工程師JohnLittle與Moler SteveBangert一起開發(fā)了第二代專業(yè)版MATLAB1984年 MathWorks公司成立 MATLAB正是推向市場(chǎng) M 9 1 2學(xué)習(xí)Matlab的基本原因 不希望學(xué)生在編程上化太多時(shí)間 課程目的不是學(xué)習(xí)編程社會(huì)化的運(yùn)行帶來的好處 合理利用可以節(jié)約大量的時(shí)間為什么相同的時(shí)間別人比自己做出了更多的事情 碩士論文調(diào)查結(jié)果面向?qū)ο蟮乃枷霂砭薮蟮暮锰幘o密結(jié)合科學(xué)的前沿FromBBS 博士論文 Matlab word M 10 1 3Matlab的版本演化 Matlab1 0Pcmatlab matlab386Matlab3 5 simulinkMatlab4 0 simlink內(nèi)嵌Matlab5 0 全面的面向?qū)ο驧atlab5 1 5 3Matlab6 0Matlab6 5 購(gòu)并了MATRIXxMatlab7 0 2004 M 11 1 4MATLAB特點(diǎn) 高度適應(yīng)性 開放性 MATLAB的工具箱可以任意增減 任何人可以自己生成MATLAB工具箱可擴(kuò)充性 MATLAB的函數(shù)大多為ASCII文件 可以直接編輯 修改基于矩陣運(yùn)算的工作平臺(tái) 多版本 windows unix dos Macintosh極多的工具箱 M 12 1 5Matlab能做什么 基本的數(shù)據(jù)處理優(yōu)化和解方程動(dòng)態(tài)過程仿真 實(shí)時(shí)的和非實(shí)時(shí)的數(shù)據(jù)來源 Excel 數(shù)據(jù)庫(kù) A D等等嵌入式的控制 Pc 104和DSP神經(jīng)元網(wǎng)絡(luò) 小波分析 GA等等虛擬現(xiàn)實(shí)仿真 M 13 Matlab產(chǎn)品家族 Matlab擴(kuò)展支持在matlab中隊(duì)系統(tǒng)的實(shí)施和開發(fā) 工具箱 專用的函數(shù)庫(kù) 解決特定領(lǐng)域的問題 Simulink非線性系統(tǒng)仿真Blockset是專門為simulink建立的模塊 M 14 Matlab是所有系統(tǒng)工具的基礎(chǔ) M 15 設(shè)計(jì)自動(dòng)化工具 M 16 一般用途工具 M 17 信號(hào)和圖像處理 M 18 控制系統(tǒng)設(shè)計(jì)和分析 M 19 1 6網(wǎng)絡(luò)資源 USENET新聞組MATLAB的新聞組是comp soft sys MATLAB 瀏覽器指向網(wǎng)絡(luò)上的工具箱 M 20 1 6網(wǎng)絡(luò)資源 2 BBS哈爾濱工業(yè)大學(xué)bbs telnet 上海交通大學(xué)bbs telnet 清華大學(xué)bbsmathtoolswww服務(wù)Matlab大觀園 http www matlab M 21 1 7與MATLAB相似的軟件 Mathmatica數(shù)學(xué)計(jì)算功能 復(fù)雜符號(hào)計(jì)算 主要在理論界Mathcad數(shù)學(xué)文字軟件 直接寫出報(bào)告Maple符號(hào)計(jì)算功能強(qiáng)大SciLab免費(fèi)的matlab科隆體仿真軟件 MATRIXx VisSim等等 M 22 二 MATLAB基礎(chǔ)使用 2 1MATLAB安裝啟動(dòng)Matlab的安裝定制安裝關(guān)于Java的問題 XP系統(tǒng)必須安裝虛擬機(jī)安裝pdf文件Matlab啟動(dòng)自動(dòng)批處理startup mmatlabrc m M 23 2 2Matlab菜單的含義 多窗口界面Matlab的設(shè)置快速啟動(dòng)版本控制圖形粘貼設(shè)置字體的改變 M 24 2 3幫助的使用 help命令 已知命令不知道用法lookfor命令 知道命令的關(guān)鍵詞MatlabHelp 命令查找 索引 說明書Demo有效的利用幫助 M 25 2 3 1怎樣獲得詳盡的幫助信息 首先是MATLAB窗口中的help命令 它最常用 最快 往往也是最有效的 給出關(guān)鍵字就能找到相應(yīng)的說明 Help命令簡(jiǎn)單易用 但是它要求準(zhǔn)確給出關(guān)鍵字 如果記憶不準(zhǔn) 就很難找到 這時(shí)就應(yīng)該用第二種方案 HelpDesk 這是MATLAB的HTML格式的幫助文檔 有著很好的組織 可以在命令行鍵入helpdesk 進(jìn)入 MatlabHelpDesk HelpDesk的搜索可以使用不完全關(guān)鍵字 這樣即使遇到記憶模糊的情況也可以很快查到 前面兩種方法所得到的幫助信息常常是不夠細(xì)致的 需要用第三種途徑來補(bǔ)充 這就是電子版的使用手冊(cè) MATLAB里包含了大量關(guān)于MATLAB安裝 使用 編程以及各種工具箱等的電子版手冊(cè) 全部為PDF格式 具有搜索功能 因此也可以在指定的手冊(cè)中搜索關(guān)鍵字 使用非常方便 M 26 2 4Matlab變量 基本運(yùn)算變量逗號(hào) 分號(hào)的意義行內(nèi)編輯 注釋 運(yùn)算規(guī)則變量要求變量區(qū)分字母的大小寫名字不能超過19個(gè)字符 第19個(gè)字符后的字符被忽略變量必須以字母開頭 之后可以是任意字母 數(shù)字或者下滑線變量中不能含有標(biāo)點(diǎn)符號(hào) M 27 2 4 1特殊變量 M 28 2 4 2復(fù)數(shù) 不需要特殊的處理 復(fù)數(shù)可以表示為 a 10 9i復(fù)數(shù)運(yùn)算不需要特殊處理 可以直接進(jìn)行 M 29 2 4 3顯示格式 MATLAB中所有的量為雙字長(zhǎng)浮點(diǎn)數(shù) 顯示按下面顯示規(guī)則 在缺省情況下 當(dāng)結(jié)果為整數(shù) 作為整數(shù)顯示 當(dāng)結(jié)果為實(shí)數(shù) 以小數(shù)后4位的精度近似顯示 如果結(jié)果中的有效數(shù)字超出了這一范圍 以科學(xué)計(jì)數(shù)法顯示結(jié)果 format命令改變顯示格式 常用的的格式有l(wèi)ong 16位 bank 2個(gè)十進(jìn)制位 hex 十六進(jìn)制 short 缺省 shorte 5位加指數(shù) 符號(hào) longe 16位加指數(shù) rat 有理數(shù)近似 M 30 2 5文件管理功能 who whos cd chdir pwd dir ls typewhatwhichclc edit echoloadclear packsavediary M 31 三 MATLAB的基本矩陣運(yùn)算 3 1簡(jiǎn)單矩陣輸入命令行簡(jiǎn)單鍵盤輸入用于很少數(shù)據(jù)輸入矩陣的方向 NaNInf文件形式輸入可以用來讀入試驗(yàn)數(shù)據(jù)大量的數(shù)據(jù)輸入load數(shù)據(jù)文本文件 全部是數(shù)據(jù) 不含有數(shù)據(jù)mat文件 matlab自有的數(shù)據(jù)格式 M 32 2語(yǔ)句生成矩陣 線性等間距格式矩陣 使用from step tolinspace命令a linspace 1 10 5 logspace命令b logspace 0 2 10 矩陣連接c ab zerosoneseyerandn M 33 3 引入特殊的文件格式 引入輸入 importwizard可以引入的文件格式 文本文件 txt dat圖片文件 gif bmp jpg avi聲音 wav au電子表格 csv xls wk1 M 34 直接讀入特殊格式文件 文本類型 M 35 直接讀入特殊格式文件 二進(jìn)格式 M 36 3 2矩陣運(yùn)算 矩陣的轉(zhuǎn)置用符號(hào) 來表示和實(shí)現(xiàn)非共軛轉(zhuǎn)置 矩陣的四則運(yùn)算 點(diǎn)乘 右除 左除 矩陣的乘方 矩陣乘方 元素對(duì)元素的乘方矩陣的范數(shù)norm1 范數(shù)2 范數(shù) 無窮范數(shù)條件數(shù)cond M 37 3 3矩陣的超越函數(shù) MATLAB中exp sprt sin cos等命令可以直接使用在矩陣上 這種運(yùn)算只是定義在矩陣的單個(gè)元素上 即分別對(duì)矩陣的每個(gè)元素進(jìn)行運(yùn)算 MATLAB中也提供了基本的三角函數(shù) 注意其中的取整 M 38 3 3矩陣的超越函數(shù) M 39 3 4關(guān)系和邏輯運(yùn)算 1關(guān)系操作符MATLAB常用的關(guān)系操作符有 大于 大于或等于 等于 不等于 MATLAB的關(guān)系操作符可以用來比較兩個(gè)大小相同的數(shù)組 或者比較一個(gè)數(shù)組和一個(gè)標(biāo)量 在與標(biāo)量比較時(shí) 結(jié)果和數(shù)組大小一樣 a 1 9 b a 4b 000011111 c a a 4 c 56789 M 40 2邏輯操作符 邏輯操作符定義了一種與或非的關(guān)系表達(dá)式 MATLAB的邏輯操作符有 與 或 非 例如 c a 4 c 111100000 c a 4 a 7 c 000011000 M 41 四 矩陣操作 4 1矩陣下標(biāo)MATLAB通過確認(rèn)下標(biāo) 可以對(duì)矩陣進(jìn)行插入子塊 提取子塊和重排子塊的操作 為了提取矩陣a的第n行 第m列的元素值 使用a n m 可以得到 同樣 將矩陣a的第n行 第m列的元素值賦為r 使用a n m r這樣的命令 需要注意的是 如果在提取矩陣值時(shí) 行或列的值大于矩陣的大小 則出錯(cuò) 而在矩陣賦值時(shí) 如果行或者列超出矩陣的大小 則MATLAB自動(dòng)擴(kuò)充矩陣的規(guī)模 使得可以賦值 擴(kuò)充部分以零填充 M 42 4 1矩陣下標(biāo) 利用矩陣下標(biāo) MATLAB還提供了子矩陣功能 同樣是上面的a n m 如果n和m是向量 而不是標(biāo)量 則將獲得指定矩陣的子塊 同樣 矩陣的子塊還可以被賦值 如果在取子塊時(shí) n或m是 則返回指定的所有行或列 如果在矩陣子塊賦值為空矩陣 用 表示 則相當(dāng)于消除相應(yīng)的矩陣子塊 矩陣的序號(hào)編址 按列計(jì)數(shù) M 43 4 2矩陣大小 在MATLAB命令行中 使用whos命令可以察看到所有變量的大小 為了獲得矩陣或者向量的大小 MATLAB還提供了兩個(gè)有用的函數(shù)size和length size按照下面的形式使用 m n size a x 一般的 函數(shù)的輸入?yún)⒘縳不是用 這是當(dāng)只有一個(gè)輸出變量時(shí) size返回一個(gè)行向量 第一個(gè)數(shù)為行數(shù) 第二個(gè)數(shù)為列數(shù) 如果有兩個(gè)輸出變量 第一個(gè)返回量為行數(shù) 第二個(gè)返回?cái)?shù)為列數(shù) 當(dāng)使用x時(shí) x 1返回行數(shù) x 2返回列數(shù) 這時(shí)只有一個(gè)返回值 length返回行數(shù)或者列數(shù)的最大值 即length a max size a M 44 4 3矩陣操作函數(shù) MATLAB提供了一組執(zhí)行矩陣操作的函數(shù) 例如flipud a 使得矩陣上下翻轉(zhuǎn) fliplr a 使得矩陣左右翻轉(zhuǎn) rot90 a 使得矩陣逆時(shí)針翻轉(zhuǎn)900等等 M 45 4 4邏輯矩陣 邏輯矩陣是大小和對(duì)應(yīng)矩陣相同 而元素為0或者1的數(shù)組 邏輯數(shù)組一般由關(guān)系算子創(chuàng)建 可以使用邏輯矩陣來取得矩陣的部分元素值 得到矩陣中所有大于3的值 使用邏輯矩陣也可以對(duì)矩陣的部分賦值 M 46 4 5矩陣查找和排序 子矩陣的查找使用find命令完成 它返回關(guān)系表達(dá)式為真的下標(biāo) 例如 a 10 20 find a 15 ans 7891011矩陣的排序使用sort函數(shù) 它將矩陣按照升序排列 M 47 5矩陣的查找和排序 子矩陣的查找使用find命令完成 它返回關(guān)系表達(dá)式為真的下標(biāo) 矩陣的排序使用sort函數(shù) 它將矩陣按照升序排列 應(yīng)用 去奇異點(diǎn) a find a std a 3 嵌入數(shù)據(jù) 在指定大小的數(shù)據(jù)后加入數(shù)據(jù)替換 替換指定大小的數(shù)據(jù)段 M 48 6字符串處理 MATLAB真正強(qiáng)有力的地方在于它的數(shù)值處理能力 然而 經(jīng)常希望操作文本 例如把標(biāo)號(hào)和標(biāo)題放在圖上 在MATLAB里 文本當(dāng)作特征字符串或簡(jiǎn)單地當(dāng)作字符串 字符串內(nèi)的單引號(hào)是由兩個(gè)連續(xù)的單引號(hào)來表示 字符串連接可以直接從數(shù)組連接中得到 M 49 字符串函數(shù) eval string 作為一個(gè)MATLAB命令求字符串的值eval try catch blanks n 返回一個(gè)n個(gè)零或空格的字符串deblank去掉字符串中后拖的空格feval求由字符串給定的函數(shù)值findstr從一個(gè)字符串內(nèi)找出字符串isletter字母存在時(shí)返回真值isspace空格字符存在時(shí)返回真值isstr輸入是一個(gè)字符串 返回真值lasterr返回上一個(gè)所產(chǎn)生MATLAB錯(cuò)誤的字符串strcmp字符串相同 返回真值strrep用一個(gè)字符串替換另一個(gè)字符串strtok在一個(gè)字符串里找出第一個(gè)標(biāo)記 M 50 類型轉(zhuǎn)換 charx 776584766566 char x int2str四舍五入為整數(shù)轉(zhuǎn)換為字符串num2str將數(shù)字轉(zhuǎn)換為字符串mat2str將矩陣的數(shù)據(jù)轉(zhuǎn)換為字符串str2num M 51 7單元結(jié)構(gòu) 單元結(jié)構(gòu) cell把不同屬性的數(shù)據(jù)納入一個(gè)變量中類似于具有下標(biāo)的矩陣和多維數(shù)組 但這些下標(biāo)不是用圓括號(hào) 而是用大括號(hào)括起來的 pp cellstr asd testetet sfsdfsdfdfgsdgsg sfdfgfdfgf 顯示內(nèi)容 pp 1 和pp 1 的區(qū)別清空一個(gè)單元數(shù)據(jù) pp 3 和pp 3 的區(qū)別 M 52 8結(jié)構(gòu)體 結(jié)構(gòu)體將某一類相關(guān)的信息納入一個(gè)統(tǒng)一的變量名字管理 先建立一個(gè)結(jié)構(gòu)體 a b 1構(gòu)建一個(gè)結(jié)構(gòu)體的數(shù)組 pp m n struct a 刪除一個(gè)變量 pp rmfield pp b M 53 四 腳本 對(duì)于簡(jiǎn)單問題 使用直接輸入命令簡(jiǎn)單有效 對(duì)稍復(fù)雜和多次重復(fù)的應(yīng)用 直接輸入命令比較麻煩 MATLAB提供了邏輯解決方案 它允許用戶把多個(gè)命令放在一個(gè)簡(jiǎn)單的文本文件中 如同在MATLAB中鍵入命令一般 這種文件稱為腳本文件 由于腳本文件以m為擴(kuò)展名 它常稱為M文件 腳本文件為文本形式的 對(duì)跨平臺(tái)處理十分有利 使用腳本文件 可以把命令保存在磁盤上 便于以后的訪問 同時(shí)對(duì)使用大的數(shù)組也帶來的方便 增加注釋可以為腳本中的命令作文擋以免以后忘記 M 54 4 1流程控制 為了便于應(yīng)用 MATLAB提供了一些流程控制的命令 這些命令對(duì)腳本編寫帶來了一些方便 但是需要注意的是 盡量不要使用這些流程控制命令 尤其是循環(huán)控制命令 1for循環(huán)for循環(huán)允許一組命令以固定的次數(shù)重復(fù) 它的一般形式是forx arraycommandendfor和end之間的命令串按數(shù)組array的每一列執(zhí)行一次 直到n次后終止 M 55 For循環(huán)應(yīng)當(dāng)注意的一些方面 for循環(huán)不能使用內(nèi)部重新賦值循環(huán)變量而終止 for循環(huán)內(nèi)部接受任何有效的MATLAB數(shù)組 for循環(huán)可以嵌套 只要有矩陣形式可以解決的問題 不要使用for循環(huán) 使用for循環(huán)的算法執(zhí)行很慢 一個(gè)好的MATLAB算法部應(yīng)當(dāng)出現(xiàn)循環(huán)語(yǔ)句 Tic toc循環(huán)可以使用break跳出 但只跳出所在的循環(huán) 不跳出整個(gè)嵌套結(jié)構(gòu) M 56 2while循環(huán) 與for循環(huán)以固定的次數(shù)求一組指令相反 while循環(huán)以不定的次數(shù)求一組語(yǔ)句的值 While循環(huán)的一般形式為 whileexpressioncommondsend只要表達(dá)式expression里的所有元素為真 就執(zhí)行命令串commands 通常表達(dá)式求值給一個(gè)標(biāo)量值 單數(shù)組值也同樣有效 M 57 3if else enf結(jié)構(gòu) 很多情況下 命令的序列必須根據(jù)關(guān)系的檢驗(yàn)有條件的執(zhí)行 它由if else end結(jié)構(gòu)提供 它的結(jié)構(gòu)如下 ifexpression1commands1elseifexpression2commands2elseif elsecommandsend M 58 If Then Else 在執(zhí)行過程中 MATLAB依次檢查各個(gè)表達(dá)式 只執(zhí)行第一個(gè)表達(dá)式為真的命令串 接下來的關(guān)系表達(dá)式不檢驗(yàn) 跳過其余的if else end結(jié)構(gòu) 而且 最后的else命令可有可無 M 59 try catch結(jié)構(gòu) 可以進(jìn)行錯(cuò)誤的處理 提高計(jì)算的可靠性try可能出錯(cuò)的語(yǔ)句catch錯(cuò)誤處理end M 60 4 2函數(shù) 把一個(gè)比較大的任務(wù)分解為多個(gè)比較小的任務(wù) 它們之間通過調(diào)用實(shí)現(xiàn)參數(shù)傳遞 小任務(wù)可以是函數(shù) 1函數(shù)調(diào)用常見的函數(shù)調(diào)用形式為 out1 out2 function in1 in2 一個(gè)函數(shù)可以嵌套 也可以調(diào)用其它的函數(shù) 甚至調(diào)用自己 也就是遞歸調(diào)用 函數(shù)文件 函數(shù)名稱和文件名必須相同 M 61 函數(shù) 需要注意函數(shù)文件的放置位置 一般自己的函數(shù)文件放在當(dāng)前目錄 如果對(duì)一個(gè)專題有了足夠多的函數(shù) 可以生成一個(gè)工具箱 放在一個(gè)固定的目錄下 并在MATLAB中加入這個(gè)目錄路徑即可 使用函數(shù)可以加快計(jì)算速度 MATLAB首次執(zhí)行一個(gè)函數(shù)時(shí) 它將打開的文件編譯為存儲(chǔ)器內(nèi)部形式 加速了執(zhí)行速度 普通的m文件不被編譯 在每次編譯時(shí) 文件將逐行解釋執(zhí)行 函數(shù)的前一部分注釋為幫助行 在使用help命令是看到的為這些注釋行 M 62 2參數(shù)傳遞 MATLAB函數(shù)的輸入輸出數(shù)目都可以變化 通過這個(gè)特性 可以實(shí)現(xiàn)一些自定義的功能 函數(shù)的輸入輸出參數(shù)數(shù)目可以通過變量nargin和nargout獲得 函數(shù)調(diào)用中可以使用少于規(guī)定的輸入輸出參數(shù)數(shù)目 但是不能更多 在MATLAB中 參數(shù)具有自己的專有工作空間 函數(shù)中的參數(shù)和命令行參數(shù)不在一個(gè)空間中 它們的唯一聯(lián)系為函數(shù)的輸入輸出變量 輸入?yún)?shù)在函數(shù)中是可讀的 但任何改動(dòng)不會(huì)傳遞回上一級(jí)空間 使用global命令可以將變量說明為全局的 則在函數(shù) 命令行等都可以共享這些變量 在實(shí)際應(yīng)用中 應(yīng)當(dāng)盡量避免使用全局變量 M 63 3函數(shù)注意 函數(shù)可以按少于函數(shù)M文件中所規(guī)定的輸入和輸出變量進(jìn)行調(diào)用 但不能用多于函數(shù)M文件中所規(guī)定的輸入和輸出變量數(shù)目 如果輸入和輸出變量數(shù)目多于函數(shù)M文件中function語(yǔ)句一開始所規(guī)定的數(shù)目 則調(diào)用時(shí)自動(dòng)返回一個(gè)錯(cuò)誤 當(dāng)調(diào)用一個(gè)函數(shù)時(shí) 所用的輸入和輸出的參量的數(shù)目 在函數(shù)內(nèi)是規(guī)定好的 函數(shù)工作空間變量nargin包含輸入?yún)⒘總€(gè)數(shù) 函數(shù)工作空間變量nargout包含輸出參量個(gè)數(shù) 事實(shí)上 這些變量常用來設(shè)置缺省輸入變量 并決定用戶所希望的輸出變量 在M文件函數(shù)里 變量nargout可用來檢驗(yàn)輸出參量的個(gè)數(shù) 并按要求修正輸出變量的創(chuàng)建 M 64 3函數(shù)注意 函數(shù)有它們自己的專用工作空間 它與MATLAB的工作空間分開 函數(shù)內(nèi)變量與MATLAB工作空間之間唯一的聯(lián)系是函數(shù)的輸入和輸出變量 如果函數(shù)任一輸入變量值發(fā)生變化 其變化僅在函數(shù)內(nèi)出現(xiàn) 不影響MATLAB工作空間的變量 函數(shù)內(nèi)所創(chuàng)建的變量只駐留在函數(shù)的工作空間 而且只在函數(shù)執(zhí)行期間臨時(shí)存在 以后就消失 因此 從一個(gè)調(diào)用到下一個(gè)調(diào)用 在函數(shù)工作空間變量存儲(chǔ)信息是不可能的 M 65 3函數(shù)注意 當(dāng)調(diào)用一個(gè)函數(shù)時(shí) 輸入變量不會(huì)拷貝到函數(shù)的工作空間 但使它們的值在函數(shù)內(nèi)可讀 然而 改變輸入變量?jī)?nèi)的任何值 那么數(shù)組就拷貝到函數(shù)工作空間 進(jìn)而 按缺省 如果輸出變量與輸入變量相同 例如 函數(shù)x fun x y z 中的x 那么就將它拷貝到函數(shù)的工作空間 因此 為了節(jié)約存儲(chǔ)和增加速度 最好是從大數(shù)組中抽取元素 然后對(duì)它們作修正 而不是使整個(gè)數(shù)組拷貝到函數(shù)的工作空間 M 66 3函數(shù)注意 如果變量說明是全局的 函數(shù)可以與其它函數(shù) MATLAB工作空間和遞歸調(diào)用本身共享變量 為了在函數(shù)內(nèi)或MATLAB工作空間中訪問全局變量 在每一個(gè)所希望的工作空間 變量必須說明是全局的 實(shí)際編程中 無論什么時(shí)候應(yīng)盡量避免使用全局變量 要是用了全局變量 建議全局變量名要長(zhǎng) 它包含所有的大寫字母 并有選擇地以首次出現(xiàn)的M文件的名字開頭 如果遵循建議 則在全局變量之間不必要的互作用減至最小 M 67 3函數(shù)注意 MATLAB以搜尋腳本文件的同樣方式搜尋函數(shù)M文件 例如 輸入 cow MATLAB首先認(rèn)為cow是一個(gè)變量 如果它不是 那么MATLAB認(rèn)為它是一個(gè)內(nèi)置函數(shù) 如果還不是 MATLAB檢查當(dāng)前cow m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒保姆合同協(xié)議書
- 合同協(xié)議書模板封面
- 授權(quán)合同轉(zhuǎn)讓協(xié)議書
- 醫(yī)院聘用合同協(xié)議書
- 中途退款合同協(xié)議書
- 意外合同后續(xù)協(xié)議書
- 雇傭合同協(xié)議書ceo
- 簡(jiǎn)易合同協(xié)議書范本
- 入股合同協(xié)議書公章
- 黃金抵押合同協(xié)議書
- 企業(yè)所得稅課件
- 2025年高考政治核心知識(shí)總結(jié)
- 工程款抵房協(xié)議合同模板
- 初中數(shù)學(xué)問題解決策略 特殊化教案2024-2025學(xué)年北師大版(2024)七年級(jí)數(shù)學(xué)下冊(cè)
- 托管中心晚輔老師培訓(xùn)
- 兼職顧問服務(wù)合同范本
- 人教版(新教材)高中物理選擇性必修2教學(xué)設(shè)計(jì)2:2 2 法拉第電磁感應(yīng)定律教案
- 2024-2025學(xué)年人教版數(shù)學(xué)八年級(jí)下冊(cè)期中押題重難點(diǎn)檢測(cè)卷(含答案)
- 基建科室面試題及答案
- 廣西地方公路養(yǎng)護(hù)工程預(yù)算定額
- 儒林外史名著試題及答案
評(píng)論
0/150
提交評(píng)論