官术网_书友最值得收藏!

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à)的。

主站蜘蛛池模板: 兴安盟| 通化市| 乌恰县| 慈利县| 涿州市| 吉水县| 邵阳市| 天全县| 吉木乃县| 平果县| 绥阳县| 南华县| 水城县| 沁阳市| 清新县| 荣昌县| 安龙县| 彭泽县| 南充市| 洞口县| 海盐县| 海林市| 大厂| 耒阳市| 来安县| 绥芬河市| 平乐县| 宁德市| 天镇县| 本溪市| 北宁市| 庆阳市| 峡江县| 雅江县| 葫芦岛市| 于田县| 双柏县| 冀州市| 莱州市| 谷城县| 元阳县|