計(jì)算機(jī)仿真技術(shù)課件4MATLAB基礎(chǔ).ppt
《計(jì)算機(jī)仿真技術(shù)課件4MATLAB基礎(chǔ).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)仿真技術(shù)課件4MATLAB基礎(chǔ).ppt(66頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Matlab及其應(yīng)用,1,Matlab及其應(yīng)用,Matlab及其應(yīng)用,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)化方法,Matlab及其應(yīng)用,3,2 Matlab的學(xué)習(xí)方法,必須做大量的練習(xí),熟悉其中的函數(shù) 聯(lián)系和自己的課題相關(guān),深刻的體會(huì) 多看幫助文件,又一本好的參考書 會(huì)提問(wèn)題,尋求大家的幫助 記住:Matlab可以做很多事情,Matlab及其應(yīng)用,4,學(xué)會(huì)Matlab將改變你的一生,網(wǎng)絡(luò)對(duì)你的改變將遠(yuǎn)遠(yuǎn)的超過(guò)一臺(tái)獨(dú)立的計(jì)算機(jī),Matlab及其應(yīng)用,5,MATLA
2、B 基礎(chǔ)及其應(yīng)用,第一講 MATLAB基礎(chǔ),概述 MATLAB基本使用 MATLAB的基本矩陣分析 矩陣操作 流程控制,,,,,,Matlab及其應(yīng)用,6,一、概述,MATLAB是一種交互式的以矩陣為基礎(chǔ)的系統(tǒng)計(jì)算平臺(tái),它用于科學(xué)和工程的計(jì)算與可視化。它的優(yōu)點(diǎn)在于快速開(kāi)發(fā)計(jì)算方法,而不在于計(jì)算速度。,Matlab及其應(yīng)用,7,1.1 MATLAB的出現(xiàn),70年代中期,Cleve Moler和他的同事開(kāi)發(fā)了LINPACK和EISPACK的Fortran子程序庫(kù) 70年代末期,Cleve Moler 在新墨西哥大學(xué)給學(xué)生開(kāi)線性代數(shù),為學(xué)生編寫了接口程序,這程序取名為MATLAB,即MATrix L
3、ABoratory 1983年春天,工程師John Little與Moler、Steve Bangert一起開(kāi)發(fā)了第二代專業(yè)版MATLAB 1984年,MathWorks公司成立,MATLAB正是推向市場(chǎng)。,Matlab及其應(yīng)用,8,1.2 學(xué)習(xí)Matlab的基本原因,不希望學(xué)生在編程上化太多時(shí)間,課程目的不是學(xué)習(xí)編程 社會(huì)化的運(yùn)行帶來(lái)的好處:合理利用可以節(jié)約大量的時(shí)間 為什么相同的時(shí)間別人比自己做出了更多的事情:碩士論文調(diào)查結(jié)果 面向?qū)ο蟮乃枷霂?lái)巨大的好處 緊密結(jié)合科學(xué)的前沿 From BBS:博士論文=Matlab+word,Matlab及其應(yīng)用,9,1.3 Matlab的版本演化,Ma
4、tlab 1.0 Pc matlab-matlab 386 Matlab3.5+simulink Matlab 4.0:simlink內(nèi)嵌 Matlab 5.0 :全面的面向?qū)ο?Matlab 5.15.3 Matlab 6.0 Matlab 6.5:購(gòu)并了MATRIXx Matlab 7.0:2004,Matlab及其應(yīng)用,10,1.4 MATLAB特點(diǎn),高度適應(yīng)性、開(kāi)放性:MATLAB的工具箱可以任意增減,任何人可以自己生成MATLAB工具箱 可擴(kuò)充性: MATLAB的函數(shù)大多為ASCII文件,可以直接編輯、修改 基于矩陣運(yùn)算的工作平臺(tái)。多版本:windows/unix/dos/Macin
5、tosh 極多的工具箱。,Matlab及其應(yīng)用,11,1.5 Matlab能做什么,基本的數(shù)據(jù)處理 優(yōu)化和解方程 動(dòng)態(tài)過(guò)程仿真:實(shí)時(shí)的和非實(shí)時(shí)的 數(shù)據(jù)來(lái)源:Excel、數(shù)據(jù)庫(kù)、A/D等等 嵌入式的控制:Pc/104和DSP 神經(jīng)元網(wǎng)絡(luò)、小波分析、GA等等 虛擬現(xiàn)實(shí)仿真,Matlab及其應(yīng)用,12,Matlab產(chǎn)品家族,Matlab擴(kuò)展支持在matlab中隊(duì)系統(tǒng)的實(shí)施和開(kāi)發(fā)。 工具箱:專用的函數(shù)庫(kù),解決特定領(lǐng)域的問(wèn)題。 Simulink非線性系統(tǒng)仿真 Blockset是專門為simulink建立的模塊。,Matlab及其應(yīng)用,13,Matlab是所有系統(tǒng)工具的基礎(chǔ),,Matlab及其應(yīng)用,14,
6、設(shè)計(jì)自動(dòng)化工具,,Matlab及其應(yīng)用,15,一般用途工具,,Matlab及其應(yīng)用,16,信號(hào)和圖像處理,,Matlab及其應(yīng)用,17,控制系統(tǒng)設(shè)計(jì)和分析,,Matlab及其應(yīng)用,18,1.6 網(wǎng)絡(luò)資源,USENET新聞組 MATLAB的新聞組是comp.soft-sys.MATLAB。瀏覽器指向 網(wǎng)絡(luò)上的工具箱 ,Matlab及其應(yīng)用,19,1.6 網(wǎng)絡(luò)資源(2),BBS 哈爾濱工業(yè)大學(xué)bbs: telnet:// 上海交通大學(xué)bbs: telnet:// 清華大學(xué)bbs mathtools www服務(wù) Matlab 大觀園: http://www.matlab-,Matlab及其應(yīng)用,
7、20,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等等,Matlab及其應(yīng)用,21,二、MATLAB基礎(chǔ)使用,2.1 MATLAB安裝啟動(dòng) Matlab的安裝 定制安裝 關(guān)于Java的問(wèn)題:XP系統(tǒng)必須安裝虛擬機(jī) 安裝pdf文件 Matlab啟動(dòng) 自動(dòng)批處理 startup.m matlabrc.m,Matlab及其應(yīng)用,22,2.2 Matlab菜單的含義,多窗口界面 Matlab的設(shè)置
8、 快速啟動(dòng) 版本控制 圖形粘貼設(shè)置 字體的改變,Matlab及其應(yīng)用,23,2.3幫助的使用,help 命令:已知命令不知道用法 lookfor命令:知道命令的關(guān)鍵詞 Matlab Help:命令查找,索引,說(shuō)明書 Demo 有效的利用幫助,Matlab及其應(yīng)用,24,2.3.1 怎樣獲得詳盡的幫助信息,首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最有效的。給出關(guān)鍵字就能找到相應(yīng)的說(shuō)明。Help命令簡(jiǎn)單易用,但是它要求準(zhǔn)確給出關(guān)鍵字,如果記憶不準(zhǔn),就很難找到。這時(shí)就應(yīng)該用第二種方案。 Help Desk:這是MATLAB的HTML格式的幫助文檔,有著很好的組織??梢栽诿钚?/p>
9、鍵入helpdesk,進(jìn)入“Matlab Help Desk”。Help Desk的搜索可以使用不完全關(guān)鍵字,這樣即使遇到記憶模糊的情況也可以很快查到。 前面兩種方法所得到的幫助信息常常是不夠細(xì)致的,需要用第三種途徑來(lái)補(bǔ)充,這就是電子版的使用手冊(cè)。MATLAB里包含了大量關(guān)于MATLAB安裝、使用、編程以及各種工具箱等的電子版手冊(cè),全部為PDF格式,具有搜索功能,因此也可以在指定的手冊(cè)中搜索關(guān)鍵字,使用非常方便。,Matlab及其應(yīng)用,25,2.4 Matlab變量,基本運(yùn)算 變量 逗號(hào)、分號(hào)的意義 行內(nèi)編輯、注釋、運(yùn)算規(guī)則 變量要求 變量區(qū)分字母的大小寫 名字不能超過(guò)19個(gè)字符,第19個(gè)字
10、符后的字符被忽略 變量必須以字母開(kāi)頭,之后可以是任意字母、數(shù)字或者下滑線 變量中不能含有標(biāo)點(diǎn)符號(hào)。,Matlab及其應(yīng)用,26,2.4.1 特殊變量,Matlab及其應(yīng)用,27,2.4.2 復(fù)數(shù),不需要特殊的處理。復(fù)數(shù)可以表示為:a=10-9i 復(fù)數(shù)運(yùn)算不需要特殊處理,可以直接進(jìn)行,Matlab及其應(yīng)用,28,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命令改變顯示格式,常用的的格式有 long (
11、16位) bank(2個(gè)十進(jìn)制位) hex(十六進(jìn)制) short(缺省) short e(5位加指數(shù)) +(符號(hào)) long e(16位加指數(shù)) rat(有理數(shù)近似),Matlab及其應(yīng)用,29,2.5 文件管理功能,who(whos) cd(chdir,pwd) dir(ls) type what which clc,edit ! echo load clear/pack save diary,Matlab及其應(yīng)用,30,三、MATLAB的基本矩陣運(yùn)算,3.1 簡(jiǎn)單矩陣輸入 命令行簡(jiǎn)單鍵盤輸入 用于很少數(shù)據(jù)輸入 矩陣的方向:, ; NaN Inf 文件形式輸入 可以用來(lái)讀入試驗(yàn)數(shù)據(jù) 大量的
12、數(shù)據(jù)輸入 load數(shù)據(jù) 文本文件:全部是數(shù)據(jù),不含有數(shù)據(jù) mat文件:matlab自有的數(shù)據(jù)格式,Matlab及其應(yīng)用,31,2語(yǔ)句生成矩陣,線性等間距格式矩陣,使用from:step:to linspace命令 a=linspace(1,10,5); logspace命令 b=logspace(0,2,10) 矩陣連接 c=a b; zeros ones eye randn ,Matlab及其應(yīng)用,32,3. 引入特殊的文件格式,引入輸入:import wizard 可以引入的文件格式: 文本文件: .txt .dat 圖片文件: .gif .bmp .jpg .avi 聲音:.wav .a
13、u 電子表格:.csv .xls .wk1,Matlab及其應(yīng)用,33,直接讀入特殊格式文件:文本類型,Matlab及其應(yīng)用,34,直接讀入特殊格式文件:二進(jìn)格式,Matlab及其應(yīng)用,35,3.2 矩陣運(yùn)算,矩陣的轉(zhuǎn)置 用符號(hào)來(lái)表示和實(shí)現(xiàn) 非共軛轉(zhuǎn)置 . 矩陣的四則運(yùn)算 +-*/ 點(diǎn)乘:.* 右除:./ 左除:. 矩陣的乘方 矩陣乘方 .元素對(duì)元素的乘方,Matlab及其應(yīng)用,36,3.3 矩陣的超越函數(shù),MATLAB中exp、sprt、sin、cos等命令可以直接使用在矩陣上,這種運(yùn)算只是定義在矩陣的單個(gè)元素上,即分別對(duì)矩陣的每個(gè)元素進(jìn)行運(yùn)算。MATLAB中也提供了基本的三角函數(shù)。 注意
14、其中的取整,Matlab及其應(yīng)用,37,3.3 矩陣的超越函數(shù),Matlab及其應(yīng)用,38,3.4 關(guān)系和邏輯運(yùn)算,1 關(guān)系操作符 MATLAB常用的關(guān)系操作符有:(大于)、=(大于或等于)、 = =(等于)、 !=(不等于)。 MATLAB的關(guān)系操作符可以用來(lái)比較兩個(gè)大小相同的數(shù)組,或者比較一個(gè)數(shù)組和一個(gè)標(biāo)量。在與標(biāo)量比較時(shí),結(jié)果和數(shù)組大小一樣。 a=1:9; b=a4 b = 0 0 0 0 1 1 1 1 1 c=a(a4) c = 5 6 7 8 9,Matlab及其應(yīng)用,39,2 邏輯操作符,邏輯操作符定義了一種與或非的關(guān)系表達(dá)式。MATLAB的邏輯操作符
15、有 find(a15) ans = 7 8 9 10 11 矩陣的排序使用sort函數(shù),它將矩陣按照升序排列。,Matlab及其應(yīng)用,46,5矩陣的查找和排序,子矩陣的查找使用find命令完成,它返回關(guān)系表達(dá)式為真的下標(biāo)。 矩陣的排序使用sort函數(shù),它將矩陣按照升序排列。 應(yīng)用: 去噪聲:a(find(a 16、示。 字符串連接可以直接從數(shù)組連接中得到。,Matlab及其應(yīng)用,48,字符串函數(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è)字符串替換另一 17、個(gè)字符串 strtok 在一個(gè)字符串里找出第一個(gè)標(biāo)記,Matlab及其應(yīng)用,49,四、腳本,對(duì)于簡(jiǎn)單問(wèn)題,使用直接輸入命令簡(jiǎn)單有效;對(duì)稍復(fù)雜和多次重復(fù)的應(yīng)用,直接輸入命令比較麻煩。MATLAB提供了邏輯解決方案,它允許用戶把多個(gè)命令放在一個(gè)簡(jiǎn)單的文本文件中,如同在MATLAB中鍵入命令一般,這種文件稱為腳本文件,由于腳本文件以m為擴(kuò)展名,它常稱為M文件。腳本文件為文本形式的,對(duì)跨平臺(tái)處理十分有利。 使用腳本文件,可以把命令保存在磁盤上,便于以后的訪問(wèn);同時(shí)對(duì)使用大的數(shù)組也帶來(lái)的方便;增加注釋可以為腳本中的命令作文擋以免以后忘記。,Matlab及其應(yīng)用,50,4.1 流程控制,為了便于應(yīng)用,MA 18、TLAB提供了一些流程控制的命令。這些命令對(duì)腳本編寫帶來(lái)了一些方便,但是需要注意的是,盡量不要使用這些流程控制命令,尤其是循環(huán)控制命令。 1 for循環(huán) for循環(huán)允許一組命令以固定的次數(shù)重復(fù),它的一般形式是 for x=array command end for 和end之間的命令串按數(shù)組array的每一列執(zhí)行一次,直到n次后終止。,Matlab及其應(yīng)用,51,For循環(huán)應(yīng)當(dāng)注意的一些方面,for循環(huán)不能使用內(nèi)部重新賦值循環(huán)變量而終止; for循環(huán)內(nèi)部接受任何有效的MATLAB數(shù)組; for循環(huán)可以嵌套; 只要有矩陣形式可以解決的問(wèn)題,不要使用for循環(huán)。使用for循環(huán)的算法執(zhí)行很慢,一個(gè)好 19、的MATLAB算法部應(yīng)當(dāng)出現(xiàn)循環(huán)語(yǔ)句。Tic/toc 循環(huán)可以使用break跳出,但只跳出所在的循環(huán),不跳出整個(gè)嵌套結(jié)構(gòu)。,Matlab及其應(yīng)用,52,2while循環(huán),與for循環(huán)以固定的次數(shù)求一組指令相反,while循環(huán)以不定的次數(shù)求一組語(yǔ)句的值。While循環(huán)的一般形式為: while expression commonds end 只要表達(dá)式expression里的所有元素為真,就執(zhí)行命令串commands。通常表達(dá)式求值給一個(gè)標(biāo)量值,單數(shù)組值也同樣有效。,Matlab及其應(yīng)用,53,3 if-else-enf結(jié)構(gòu),很多情況下,命令的序列必須根據(jù)關(guān)系的檢驗(yàn)有條件的執(zhí)行,它由if-el 20、se-end結(jié)構(gòu)提供。它的結(jié)構(gòu)如下: if expression1 commands1 elseif expression2 commands2 elseif else commands end,Matlab及其應(yīng)用,54,If- Then- Else,在執(zhí)行過(guò)程中,MATLAB依次檢查各個(gè)表達(dá)式,只執(zhí)行第一個(gè)表達(dá)式為真的命令串,接下來(lái)的關(guān)系表達(dá)式不檢驗(yàn),跳過(guò)其余的if-else-end結(jié)構(gòu),而且,最后的else命令可有可無(wú)。,Matlab及其應(yīng)用,55,4.2 函數(shù),把一個(gè)比較大的任務(wù)分解為多個(gè)比較小的任務(wù),它們之間通過(guò)調(diào)用實(shí)現(xiàn)參數(shù)傳遞,小任務(wù)可以是函數(shù)。 1 函數(shù)調(diào)用 常見(jiàn)的函數(shù) 21、調(diào)用形式為: out1,out2,=function(in1,in2,) 一個(gè)函數(shù)可以嵌套,也可以調(diào)用其它的函數(shù),甚至調(diào)用自己(也就是遞歸調(diào)用)。 函數(shù)文件,函數(shù)名稱和文件名必須相同。,Matlab及其應(yīng)用,56,函數(shù),需要注意函數(shù)文件的放置位置,一般自己的函數(shù)文件放在當(dāng)前目錄;如果對(duì)一個(gè)專題有了足夠多的函數(shù),可以生成一個(gè)工具箱,放在一個(gè)固定的目錄下,并在MATLAB中加入這個(gè)目錄路徑即可。 使用函數(shù)可以加快計(jì)算速度。MATLAB首次執(zhí)行一個(gè)函數(shù)時(shí),它將打開(kāi)的文件編譯為存儲(chǔ)器內(nèi)部形式,加速了執(zhí)行速度。普通的m文件不被編譯,在每次編譯時(shí),文件將逐行解釋執(zhí)行。 函數(shù)的前一部分注釋為幫助行,在使用h 22、elp命令是看到的為這些注釋行。,Matlab及其應(yīng)用,57,2 參數(shù)傳遞,MATLAB函數(shù)的輸入輸出數(shù)目都可以變化,通過(guò)這個(gè)特性,可以實(shí)現(xiàn)一些自定義的功能。函數(shù)的輸入輸出參數(shù)數(shù)目可以通過(guò)變量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命令可以將變量說(shuō)明為全局的,則在函數(shù)、命令行等都可以共享這些變量。在實(shí)際應(yīng)用中,應(yīng)當(dāng)盡量避免使用全局變量。,Mat 23、lab及其應(yīng)用,58,3 函數(shù)注意,函數(shù)可以按少于函數(shù)M 文件中所規(guī)定的輸入和輸出變量進(jìn)行調(diào)用,但不能用多于函數(shù)M 文件中所規(guī)定的輸入和輸出變量數(shù)目。如果輸入和輸出變量數(shù)目多于函數(shù)M 文件中function 語(yǔ)句一開(kāi)始所規(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í)上,這些變量常用來(lái)設(shè)置缺省輸入變量,并決定用戶所希望的輸出變量。在M 文件函數(shù)里,變量nargout 可用來(lái)檢驗(yàn)輸出參量的個(gè)數(shù),并按要求修正輸出變量的創(chuàng)建。,Matlab 24、及其應(yīng)用,59,3 函數(shù)注意,函數(shù)有它們自己的專用工作空間,它與MATLAB 的工作空間分開(kāi)。函數(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ǔ)信息是不可能的。,Matlab及其應(yīng)用,60,3 函數(shù)注意,當(dāng)調(diào)用一個(gè)函數(shù)時(shí),輸入變量不會(huì)拷貝到函數(shù)的工作空間,但使它們的值在函數(shù)內(nèi)可讀。然而,改變輸入變量?jī)?nèi)的任何值,那么數(shù)組就拷貝到函數(shù)工作空間。進(jìn)而,按缺 25、省,如果輸出變量與輸入變量相同,例如,函數(shù)x=fun(x, y, z) 中的x ,那么就將它拷貝到函數(shù)的工作空間。因此,為了節(jié)約存儲(chǔ)和增加速度,最好是從大數(shù)組中抽取元素,然后對(duì)它們作修正,而不是使整個(gè)數(shù)組拷貝到函數(shù)的工作空間。,Matlab及其應(yīng)用,61,3 函數(shù)注意,如果變量說(shuō)明是全局的,函數(shù)可以與其它函數(shù)、MATLAB 工作空間和遞歸調(diào)用本身共享變量。為了在函數(shù)內(nèi)或MATLAB 工作空間中訪問(wèn)全局變量,在每一個(gè)所希望的工作空間,變量必須說(shuō)明是全局的。 實(shí)際編程中,無(wú)論什么時(shí)候應(yīng)盡量避免使用全局變量。要是用了全局變量,建議全局變量名要長(zhǎng),它包含所有的大寫字母,并有選擇地以首次出現(xiàn)的M 文件的 26、名字開(kāi)頭。如果遵循建議,則在全局變量之間不必要的互作用減至最小。,Matlab及其應(yīng)用,62,3 函數(shù)注意,MATLAB 以搜尋腳本文件的同樣方式搜尋函數(shù)M 文件。例如,輸入 cow ,MATLAB 首先認(rèn)為cow 是一個(gè)變量。如果它不是,那么MATLAB 認(rèn)為它是一個(gè)內(nèi)置函數(shù)。如果還不是,MATLAB 檢查當(dāng)前cow.m 的目錄或文件夾。如果它不存在,MATLAB 就檢查cow.m 在MATLAB 搜尋路徑上的所有目錄或文件夾。 從函數(shù)M 文件內(nèi)可以調(diào)用腳本文件。在這種情況下,腳本文件查看函數(shù)工作空間,不查看MATLAB 工作空間。從函數(shù)M 文件內(nèi)調(diào)用的腳本文件不必用調(diào)用函數(shù)編譯到內(nèi)存。函數(shù) 27、每調(diào)用一次,它們就被打開(kāi)和解釋。因此,從函數(shù)M 文件內(nèi)調(diào)用腳本文件減慢了函數(shù)的執(zhí)行。,Matlab及其應(yīng)用,63,3 函數(shù)注意,當(dāng)MATLAB 運(yùn)行時(shí),它緩存了存儲(chǔ)在Toolbox 子目錄和Toolbox 目錄內(nèi)的所有子目錄中所有的M 文件的名字和位置。這使MATLAB 很快地找到和執(zhí)行函數(shù)M 文件。被緩存的M 文件函數(shù)當(dāng)作是只讀的。如果執(zhí)行這些函數(shù),以后又發(fā)生變化,MATLAB 將只執(zhí)行以前編譯到內(nèi)存的函數(shù),不管已改變的M 文件。而且,在MATLAB 執(zhí)行后,如果M 文件被加到Toolbox 目錄中,那么它們將不出現(xiàn)在緩存里,因此不可利用。所以,在M 文件函數(shù)的使用中,最好把它們存儲(chǔ)在Too 28、lbox 目錄外,或許最好存儲(chǔ)在MATLAB 目錄下,直至它們被認(rèn)為是完備的。當(dāng)它們是完備時(shí),就將它們移到一個(gè)只讀的Toolbox 目錄或文件夾的子目錄內(nèi)。最后,要確保MATLAB 搜索路徑改變,以確認(rèn)它們的存在。,Matlab及其應(yīng)用,64,3 函數(shù)注意,MATLAB 函數(shù)error 在命令窗口顯示一個(gè)字符串,放棄函數(shù)執(zhí)行,把控制權(quán)返回給鍵盤。這個(gè)函數(shù)對(duì)提示函數(shù)使用不當(dāng)很有用,如在以下文件片段中: if length(val)1 error( VAL must be a scalar. ) end 這里,如果變量val 不是一個(gè)標(biāo)量,error 顯示消息字符串,把控制權(quán)返回給命令窗口和鍵盤。,Matlab及其應(yīng)用,65,腳本,echo input x=input( ); keyboard return pause debug: matlab edit tic /toc,Matlab及其應(yīng)用,66,思考題,進(jìn)行下列計(jì)算,給出不使用for和while等循環(huán)語(yǔ)句的計(jì)算方法; 1 2.求出y=x*sin(x) 在0
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年銀行業(yè)年終工作總結(jié)8篇
- 電工年度工作總結(jié)11篇
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院護(hù)士述職報(bào)告6篇
- 中專期末總結(jié)個(gè)人總結(jié)7篇
- 醫(yī)技科個(gè)人總結(jié)范文6篇
- 展望未來(lái)年終總結(jié)8篇
- 品質(zhì)年度工作總結(jié)報(bào)告4篇
- 市場(chǎng)月總結(jié)5篇
- 年終個(gè)人工作總結(jié)
- 檔案管理工作的自查報(bào)告8篇
- 護(hù)士近五年工作總結(jié)6篇
- 部門助理個(gè)人總結(jié)7篇
- 專項(xiàng)資金使用自查報(bào)告5篇
- 教師教研教學(xué)工作總結(jié)7篇
- 迎新晚會(huì)個(gè)人總結(jié)10篇