如何在matlab中加載工具箱

Matlab如何添加新的工具箱-經(jīng)驗(yàn)總結(jié)最近在學(xué)習(xí)遺傳算法與免疫算法,所以涉及到matlab的工具箱的應(yīng)用朝捆,尤其gads工具箱憋他,所以在網(wǎng)上下載了一些工具箱,但是不會(huì)用愿阐,在網(wǎng)上找了點(diǎn)資料,留著以后也可以用趾疚。1缨历,我是單獨(dú)下載的工具箱,把新的工具箱拷貝到某個(gè)目錄(我的是C:\Program Files\MATLAB\R2010\toolbox)糙麦。注意:你要是添加的很多個(gè)m文件辛孵,那就把這些m文件直接拷到再下一層你想要的工具箱的文件夾里例如,我要添加的是遺傳工具箱赡磅,在剛才的文件夾下我已經(jīng)有g(shù)ads(遺傳工具箱)文件夾了魄缚,但有的m文件還沒有,我就把新的m文件統(tǒng)統(tǒng)拷到C:\Program Files\MATLAB\R2010\toolbox\gads目錄下了如果你連某工具箱(你打算添加的)的文件夾都沒有焚廊,那就把文件夾和文件一起拷到C:\Program Files\MATLAB\R2010\toolbox下冶匹。先把工具箱保存到MATLAB安裝目錄的根目錄下面,然后運(yùn)行matlab---->file---->set path---->add folder 然后把你的工具箱文件夾添加進(jìn)去就可以了2 在matlab的菜單file下面的set path把它(C:\Program Files\MATLAB\R2010\toolbox\gads)加上咆瘟。3 把路徑加進(jìn)去后在file→Preferences→General的Toolbox Path Caching里點(diǎn)擊update Toolbox Path Cache更新一下嚼隘。記得一定要更新!我就是沒更新袒餐,所以添加了路徑飞蛹,一運(yùn)行還是不行。后來更新了才行灸眼。4 用which newtoolbox_command.m來檢驗(yàn)是否可以訪問桩皿。如果能夠顯示新設(shè)置的路徑,則表明該工具箱可以使用了幢炸。這個(gè)我也不知道怎么用泄隔。怎么檢驗(yàn)?在命令窗口輸入which newtoolbox_command.m宛徊?還是打開which newtoolbox_command.m文件(我搜索了佛嬉,沒找到這個(gè)文件啊)我一直沒搞懂闸天。 我的matlab小經(jīng)驗(yàn)我前幾天剛剛接觸matlab? 由于要用MATLAB遺傳算法工具箱編程暖呕,我直接在安裝好的matlab命令欄輸入程序 結(jié)果提示找不到函數(shù) 后來我才了解到MATLAB自帶的工具箱是GADS,在此環(huán)境下運(yùn)行程序會(huì)出現(xiàn)函數(shù)未定義等問題苞氮,這是因?yàn)槟切┖瘮?shù)室GATBX工具箱里面的湾揽,GADS中沒有。需要把GATBX添加到MATLAB搜索路徑之下。先將 GATBx復(fù)制到 MATLAB安裝目錄下的toolbox 下然后打開MATLAB 然后 FILE ->SET PATH 選 ADD FOLDER 選擇你剛才復(fù)制的那個(gè)文件夾就OK了如果你的工具箱中有很多子目錄的話,選擇 ADD WITH SUBFOLDER 之后的操作和上面一樣了... 在matlab中添加新的工具箱首先說說添加到matlab搜索路徑好處:1 對(duì) n——你只需要存儲(chǔ)一個(gè)副本库物,就可以在其他地方使用霸旗。具體來說,假設(shè)你在數(shù)據(jù)盤D上新建了兩個(gè)目錄abc和def戚揭,這兩個(gè)工程(每個(gè)目錄下的所有程序相應(yīng)地稱為一個(gè)工程)都需要調(diào)用同一個(gè)(些)函數(shù)(簡稱工具箱)诱告,這時(shí)候,如果你沒有把該工具箱添加到matlab的搜索路徑下民晒,則需要分別把工具箱中所有用到的文件都復(fù)制到目錄abc和def下才能正確運(yùn)行精居。這顯然浪費(fèi)空間,所以潜必,matlab提供了一個(gè)搜索路徑(默認(rèn)在matlab安裝目錄下的toolbox中)靴姿,只要把工具箱對(duì)應(yīng)的整個(gè)文件夾復(fù)制到搜索路徑對(duì)應(yīng)的目錄下,并且通知matlab一聲(把該路徑正確添加到搜索路徑中)磁滚,就可以在abc和def中使用這個(gè)工具箱了(即無論你的工程文件在哪個(gè)目錄(有效的目錄)下都可以訪問這個(gè)工具箱中的函數(shù))佛吓。下面就以matlab安裝目錄下的toolbox目錄作為默認(rèn)的添加路徑進(jìn)行詳細(xì)說明。1. 如何添加工具箱恨旱?以下是添加工具箱的方法:(論壇很多人轉(zhuǎn)載過辈毯,這里就不作區(qū)分了坝疼,下面的舉例也一樣)如果是Matlab安裝光盤上的工具箱搜贤,重新執(zhí)行安裝程序,選中即可钝凶。如果是單獨(dú)下載的工具箱仪芒,則需要把新的工具箱(以下假設(shè)工具箱名字為svm)解壓到toolbox目錄下,然后用addpath或者pathtool把該工具箱的路徑添加到matlab的搜索路徑中耕陷,最后用which newtoolbox_command.m來檢驗(yàn)是否可以訪問掂名。如果能夠顯示新設(shè)置的路徑,則表明該工具箱可以使用了哟沫。具體請(qǐng)看工具箱自己代的README文件饺蔑。1.1 舉例:要添加的工具箱為svm,則解壓后嗜诀,里邊有一個(gè)目錄svm猾警,假設(shè)matlab安裝在D:\MATLAB6p5,將svm目錄拷貝至D:\MATLAB6p5\toolbox隆敢,然后運(yùn)行matlab发皿,在命令窗口輸入addpath ’D:\MATLAB6p5\toolbox\svm’回車,來添加路徑拂蝎。然后在svm目錄下穴墅,任意找一個(gè)m文件,以svcinfo.m為例,在命令窗口中輸入which svcinfo.m玄货。如果顯示出該文件路徑皇钞,如 D:\MATLAB6p5\toolbox\svm\svcinfo.m,則安裝成功誉结,當(dāng)然也可以在命令窗口輸入path來查看鹅士。上面的說明和例子基本上介紹了在matlab中如何添加工具箱,下面是其他補(bǔ)充:1.2 添加方式總結(jié):事實(shí)上惩坑,有兩種添加工具箱到matlab搜索路徑的方法:其一是用代碼掉盅,其二是用界面。其實(shí)無論用哪種方法以舒,都是修改pathdef.m這個(gè)文件趾痘,閣下如果是高手,可以直接打開該文件修改蔓钟,呵呵永票,對(duì)此這里不作討論。1.2.1 代碼方式:1.2.1.1 適用于添加下載的工具箱(別人的):在命令窗口輸入addpath D:\MATLAB6p5\toolbox\svm 或者addpath(‘D:\MATLAB6p5\toolbox\svm’);但是這種方法只能添加svm目錄滥沫,如果該目錄下有其他子文件夾侣集,并且運(yùn)行時(shí)候“隱式”調(diào)用到這些子文件夾(例如假設(shè)svm目錄下存在子文件夾matdata,該子文件夾下有l(wèi)ogo.mat這個(gè)文件兰绣,且在m文件代碼中使用了諸如 load logo 這樣的句子世分,即沒有顯式給出logo.mat的具體路徑,則稱為“隱式”)缀辩,則不能正確訪問臭埋。因此,有必要在添加時(shí)使用以下語句把svm目錄下所有文件夾都添加到搜索路徑中:程序代碼addpath(genpath(D:\MATLAB6p5\toolbox\svm));另外臀玄,如果只使用以上代碼瓢阴,則退出matlab后,新添加的路徑不會(huì)被保存下來健无,下次重新啟動(dòng)matlab后又需要重新添加荣恐。可以用savepath來解決這個(gè)問題累贤,即在命令窗口中使用 savepath 便可叠穆。不過保存路徑操作只對(duì)matlab 2006a、2006b有效(應(yīng)該對(duì)版本7.0以上的都有效畦浓,因沒有測(cè)試痹束,所以不敢肯定),對(duì)6.5版本的matlab無效(該版本沒有savepath這個(gè)命令)讶请。1.2.1.2 適用于添加自己的工具箱(即工具箱自己編寫祷嘶,然后希望別人下載后當(dāng)運(yùn)行主文件時(shí)自動(dòng)把路徑添加到matlab搜索路徑中):在主文件中加入如下代碼屎媳;程序代碼sCurrPath = fileparts(mfilename('fullpath'));addpath(genpath(sCurrPath)); %如果該工具箱沒有其他子目錄,則可以不需要用genpathsavepath; %這句可根據(jù)各人需要自行選擇论巍,相信上一節(jié)的解釋已經(jīng)很清楚烛谊。1.2.2 界面方式:首先把主界面調(diào)出來,有兩種方式嘉汰,一種是在命令窗口輸入pathtool丹禀,另一種是在matlab菜單調(diào)用(File -> Set Path…)。打開主界面后鞋怀,相信不用太多解釋了双泪。Add Folder… 或者 Add with subfolders… 就可以了,添加完畢后密似,如果需要保存該路徑焙矛,則在close前save一下就可以了。這種方式的好處是如果路徑有問題残腌,matlab會(huì)馬上報(bào)錯(cuò)村斟,告訴用戶添加失敗。2 工具箱添加失斉酌ā:2.1 work目錄和toolbox目錄問題:你當(dāng)然可以單獨(dú)把一個(gè)或多個(gè)文件(不含文件夾)放在work目錄下來實(shí)現(xiàn)“1對(duì)n”蟆盹,因?yàn)閣ork目錄是其中一個(gè)matlab默認(rèn)的搜索路徑,但顯然不能包含文件夾闺金,如果包含文件夾逾滥,則同樣需要把該文件夾添加到搜索路徑中。相反掖看,你不能單獨(dú)把一個(gè)或多個(gè)文件(不含文件夾)放在toolbox目錄下來實(shí)現(xiàn)“1對(duì)n”匣距,因?yàn)閠oolbox這個(gè)目錄并非matlab的一個(gè)默認(rèn)搜索路徑面哥,除非你把toolbox文件夾添加到搜索路徑中哎壳。2.2 由于路徑名稱而導(dǎo)致添加失敗的總結(jié):2.2.1 路徑存在空格:錯(cuò)誤:addpath C:\Program Files\MATLAB\R2006b\toolbox\finity正確:addpath(‘C:\Program Files\MATLAB\R2006b\toolbox\finity’) 或者使用界面方式添加說明:在6.5版本的matlab不推薦使用帶空格的路徑,因?yàn)閙atlab6.5的安裝路徑是不允許有空格的尚卫,因此不曉得帶空格的工具箱路徑會(huì)出現(xiàn)什么問題归榕。7.0以上應(yīng)該沒有問題。界面方式則估計(jì)沒有問題吱涉,有問題matlab會(huì)自動(dòng)報(bào)錯(cuò)的刹泄。2.2.2 路徑存在中文:用addpath和界面方式均可以成功添加,但不推薦怎爵,最好使用英文路徑特石。2.2.3 路徑存在“@”字符:均不成功,不要使用“@”字符小結(jié):出現(xiàn)其他與添加相關(guān)的錯(cuò)誤時(shí)鳖链,用標(biāo)準(zhǔn)的路徑和文件名試試吧姆蘸。3 正確添加了工具箱,但運(yùn)行調(diào)用時(shí)出錯(cuò):3.1 版本問題:對(duì)于工具箱檢測(cè)到matlab版本不兼容的問題,先引用一下happy教授的回復(fù):=====================happy================================這個(gè)是有用的逞敷,估計(jì)是作者考慮到隨著matlab的升級(jí)會(huì)出現(xiàn)不兼容的問題狂秦,因此加了類似的設(shè)置error('unsupported matlab version. please send an email.');以提示大家。從這一設(shè)置上看4.x和5.x版本的是完全沒有問題的推捐,之后的版本可能會(huì)出現(xiàn)問題裂问,是否真的會(huì)出現(xiàn)需要進(jìn)行測(cè)試=========================================================我也遇到過這類問題(如3.3節(jié)提到的spm5,下載得到的文件如果遇到2006版本的matlab則無法成功運(yùn)行)牛柒,但不是matlab的直接回復(fù)說“版本不支持”堪簿,而是普通的語法出錯(cuò)。我的經(jīng)驗(yàn)是根據(jù)錯(cuò)誤提示調(diào)試一下皮壁,看看問題出在哪里戴甩,然后再對(duì)程序作相應(yīng)修改。例如在我的問題中闪彼,由于不支持最新的版本甜孤,所以2006a和2006b版本分別用下面的語句進(jìn)行檢查:strcmp(version('-release'),'2006a') 和 strcmp(version('-release'),'2006b')。3.2 程序中其他語法錯(cuò)誤:估計(jì)部分語法不兼容畏腕,例如7.0版本以上的matlab可以使用&&缴川、||、@(x)等等之類的符號(hào)描馅,但是在6.5版本下無效把夸,這種錯(cuò)誤也需要自己手動(dòng)修改一下代碼。3.3 工具箱中的函數(shù)重名問題:Happy教授也提到過铭污,除了改名恋日,沒有太好的辦法。但是如果改的地方不止一個(gè)嘹狞,例如遇到該文件進(jìn)行了多次的自我調(diào)用(一個(gè)典型例子是以switch 和case語句進(jìn)行區(qū)分不同的操作)岂膳,或者其他文件存在對(duì)該文件的調(diào)用時(shí),這是個(gè)很頭痛的事情磅网。根據(jù)我的經(jīng)驗(yàn)谈截,也沒有找到太好的解決辦法。以我所用的兩個(gè)工具箱為例涧偷,它們的文件夾名字不同(一個(gè)是spm2簸喂,一個(gè)是spm5),但是里面的主m文件名字都一樣燎潮,為spm.m喻鳄,如果兩個(gè)工具箱同處于matlab的搜索路徑中,會(huì)導(dǎo)致其中一個(gè)工具箱失效确封,更別說兩者之間通過切換來進(jìn)行調(diào)用了除呵。我一般的解決方法是安裝兩個(gè)matlab唉锌,例如一個(gè)是6.5版,一個(gè)是2006版竿奏,把兩個(gè)工具箱分別添加到不同的matlab中袄简,這樣就可以啟動(dòng)不同版本的matlab使用不同版本的工具箱了,呵呵泛啸,算是一個(gè)補(bǔ)救的方法吧绿语。3.4 找不到m文件的問題:如果你已經(jīng)把工具箱正確添加到搜索路徑下,這種情況一般不會(huì)發(fā)生候址。也就是說吕粹,通過“文件夾copy -> 運(yùn)行matlab ->添加路徑”步驟后,該文件夾下所有文件應(yīng)該都可以訪問到岗仑。但是匹耕,當(dāng)你對(duì)該文件夾下的m文件更新(包括修改和新增)了以后,此時(shí)如果你不重啟matlab荠雕,則可能會(huì)出現(xiàn)找不到m文件的問題(特別是該工具箱中的文件沒有依賴關(guān)系稳其,它們只是被放在一起方便調(diào)用,當(dāng)你新增一個(gè)m文件到該文件夾下而不重啟matlab的時(shí)候炸卑,會(huì)造成這一新增m文件訪問失敿染稀)。解決這個(gè)問題的方法之一顯然是重啟matlab盖文,如果你不想重啟嘱蛋,也可用第二個(gè)方法:在命令窗口輸入: rehash toolbox ,“強(qiáng)制”matlab刷新toolbox目錄下的所有文件五续,這樣就可以正確訪問了洒敏。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市疙驾,隨后出現(xiàn)的幾起案子凶伙,更是在濱河造成了極大的恐慌,老刑警劉巖荆萤,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镊靴,死亡現(xiàn)場(chǎng)離奇詭異铣卡,居然都是意外死亡链韭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門煮落,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敞峭,“玉大人,你說我怎么就攤上這事蝉仇⌒铮” “怎么了殖蚕?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沉迹。 經(jīng)常有香客問我睦疫,道長,這世上最難降的妖魔是什么鞭呕? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任蛤育,我火速辦了婚禮,結(jié)果婚禮上葫松,老公的妹妹穿的比我還像新娘瓦糕。我一直安慰自己,他們只是感情好腋么,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布咕娄。 她就那樣靜靜地躺著,像睡著了一般珊擂。 火紅的嫁衣襯著肌膚如雪圣勒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天摧扇,我揣著相機(jī)與錄音灾而,去河邊找鬼。 笑死扳剿,一個(gè)胖子當(dāng)著我的面吹牛旁趟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庇绽,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼锡搜,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了瞧掺?” 一聲冷哼從身側(cè)響起耕餐,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辟狈,沒想到半個(gè)月后肠缔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哼转,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年明未,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壹蔓。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趟妥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出佣蓉,到底是詐尸還是另有隱情披摄,我是刑警寧澤亲雪,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站疚膊,受9級(jí)特大地震影響义辕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寓盗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一终息、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贞让,春花似錦周崭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至销部,卻和暖如春摸航,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舅桩。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工酱虎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人擂涛。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓读串,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撒妈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恢暖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容