- MATLAB基礎(chǔ)及其應(yīng)用教程
- 周開利 鄧春暉
- 719字
- 2019-12-20 18:11:33
1.7.1 搜索路徑機(jī)制和搜索順序
路徑其實(shí)就是給出存放某個(gè)待查函數(shù)和文件的文件夾名稱。當(dāng)然,這個(gè)文件夾名稱應(yīng)包括盤符和一級(jí)級(jí)嵌套的子文件夾名。例如,現(xiàn)有一文件lx04_01.m存放在D盤“MATLAB文件”文件夾下的“M文件”子文件夾下的“第4章”子文件夾中,那么,描述它的路徑是:D:\MATLAB文件\M文件\第4章。若要調(diào)用這個(gè)M文件,可在命令窗口或程序中將其表達(dá)為:D:\MATLAB文件\M文件\第4章\lx04_01.m。在實(shí)用時(shí),這種書寫因?yàn)檫^長(zhǎng)而很不方便,MATLAB為克服這一問題,引入了搜索路徑機(jī)制。
設(shè)置搜索路徑機(jī)制就是將一些可能要被用到的函數(shù)或文件的存放路徑提前通知系統(tǒng),而無須在執(zhí)行和調(diào)用這些函數(shù)和文件時(shí)輸入一長(zhǎng)串的路徑。
必須指出,不是說有了搜索路徑,MATLAB對(duì)程序中出現(xiàn)的符號(hào)就只能從搜索路徑中去查找。在MATLAB中,一個(gè)符號(hào)出現(xiàn)在程序語句里或命令窗口的語句中可能有多種解讀,它也許是一個(gè)變量、特殊常量、函數(shù)名、M文件或MEX文件等,到底將其識(shí)別成什么,這里涉及一個(gè)搜索順序的問題。
如果在命令提示符“>>”后輸入符號(hào)xt,或程序語句中有一個(gè)符號(hào)xt,那么,MATLAB將試圖按下列次序去搜索和識(shí)別:
(1)在MATLAB內(nèi)存中進(jìn)行檢查搜索,看xt是否為工作空間窗口的變量或特殊常量,如果是,則將其當(dāng)成變量或特殊常量來處理,不再往下展開搜索識(shí)別;
(2)上一步否定后,檢查xt是否為MATLAB的內(nèi)部函數(shù),若肯定,則調(diào)用xt這個(gè)內(nèi)部函數(shù);
(3)上一步否定后,繼續(xù)在當(dāng)前目錄中搜索是否有名為“xt.m”或“xt.mex”的文件存在,若肯定,則將xt作為文件調(diào)用;
(4)上一步否定后,繼續(xù)在MATLAB搜索路徑的所有目錄中搜索是否有名為“xt.m”或“xt.mex”的文件存在,若肯定,則將xt作為文件調(diào)用;
(5)上述4步全走完后,仍未發(fā)現(xiàn)xt這一符號(hào)的出處,則MATLAB發(fā)出錯(cuò)誤信息。
必須指出的是,這種搜索是以花費(fèi)更多執(zhí)行時(shí)間為代價(jià)的。
- 大規(guī)模數(shù)據(jù)分析和建模:基于Spark與R
- Modern Programming: Object Oriented Programming and Best Practices
- Effective Amazon Machine Learning
- Enterprise Integration with WSO2 ESB
- Hadoop大數(shù)據(jù)實(shí)戰(zhàn)權(quán)威指南(第2版)
- Learn Unity ML-Agents:Fundamentals of Unity Machine Learning
- Spark大數(shù)據(jù)編程實(shí)用教程
- 深入淺出 Hyperscan:高性能正則表達(dá)式算法原理與設(shè)計(jì)
- Flutter Projects
- 聯(lián)動(dòng)Oracle:設(shè)計(jì)思想、架構(gòu)實(shí)現(xiàn)與AWR報(bào)告
- 中文版Access 2007實(shí)例與操作
- 智慧城市中的大數(shù)據(jù)分析技術(shù)
- 企業(yè)大數(shù)據(jù)處理:Spark、Druid、Flume與Kafka應(yīng)用實(shí)踐
- MySQL數(shù)據(jù)庫(kù)實(shí)用教程
- Unity Game Development Blueprints