A. 如何向MATLAB中添加新工具箱
今天費了好大的勁終於將SVM_SteveGunn添加至我的matlab工具箱內,並且已能成功運行,現在把在添加以及運行中出現的各種問題羅列如下,並一一解決:
1、將下載的svm工具箱添加至matlab安裝目錄下
1、單獨下載的工具箱
2、把新的工具箱拷貝到某個目錄(我的是D:softmatlab2011b oolbox)。
注意:你要是添加的很多個m文件,那就把這些m文件直接拷到再下一層你想要的工具箱的文件夾里
例如,我要添加的是支持向量機工具箱,在剛才的文件夾下我已經有svm(支持向量機工具箱)文件夾了,但有的m文件還沒有,我就把新的m文件統統拷到D:softmatlab2011b oolbox svm目錄下了。如果你連某工具箱(你打算添加的)的文件夾都沒有,那就把文件夾和文件一起拷到D:softmatlab2011b oolbox 下。
先把工具箱保存到MATLAB安裝目錄的根目錄下面,然後運行matlab---->file---->set path---->add folder 然後把你的工具箱文件夾添加進去就可以了
3、在matlab的菜單file下面的set path把它( D:softmatlab2011b oolbox svm )加上。
4、 把路徑加進去後在file→Preferences→General的Toolbox Path Caching里點擊update Toolbox Path Cache更新一下。
記得一定要更新!我就是沒更新,所以添加了路徑,一運行還是不行。後來更新了才行。
2、在對svm工具箱進行使用時,發現了'qp.dll 不是有效的 Win32 應用程序 '
問題描述:
mex在不同windows OS下編譯的結果,所以我們需要重新編譯一下qp.dll
解決方案:
steve gunn 的包下面有一個optimiser 文件夾,把current Diretory目錄改為optimiser目錄,例如E:matlabProgramSVM_SteveGunnOptimiser,然後運行命令
>> mex -v qp.c pr_loqo.c
命令運行完畢後,你會發現原先的qp.dll變為qp.dll.old,還出現了qp.mexw32,我們把該文件改為qp.dll 復制到工具箱文件夾下。原先的工具箱文件qp.dll可以先改一下名字...
3、我在運行第二步時發現了『D:SOFTMATLAB~3BINMEX.PL: Error: Compile of 'qp.c' failed. Error using mex (line 206)
Unable to complete successfully.
這個是因為編譯器設置的問題,這里需要重新選擇設置編譯器,設置編譯器的方法:
mex -setup(mex和-setup之間要有空格),然後我選擇的VS2010,然後再繼續運行步驟2就成功了。
B. 怎麼往matlab中添加工具箱
下載一個工具箱,添加到matlab中,直接運用:
在matlab的file下面的set path把它加上,把路徑加進去後在
file→Preferences→General的Toolbox Path Caching里點擊update Toolbox Path Cache更新一下,就OK了
1.1 如果是Matlab安裝光碟上的工具箱,重新執行安裝程序,選中即可;
1.2 如果是單獨下載的工具箱,一般情況下僅需要把新的工具箱解壓到某個目錄。
2 在matlab的file下面的set path把它加上。
3 把路徑加進去後在file→Preferences→General的Toolbox Path Caching里點擊update Toolbox Path Cache更新一下。
4 用which newtoolbox_command.m來檢驗是否可以訪問。如果能夠顯示新設置的路徑,則表明該工具箱可以使用了。
或者將工具箱復制到toolbox目錄然後在set path裡面添加這個目錄就可以用了。
在matlab的file下面的set path把它加上,把路徑加進去後在
file→Preferences→General的Toolbox Path Caching里點擊update Toolbox Path Cache更新一下,就OK了
以下是我在別的地方看到的,轉過來你參考一下吧。
首先說說添加到matlab搜索路徑好處:1
對
n——你只需要存儲一個副本,就可以在其他地方使用。具體來說,假設你在數據盤D上新建了兩個目錄abc和def,這兩個工程(每個目錄下的所有程序相應地稱為一個工程)都需要調用同一個(些)函數(簡稱工具箱),這時候,如果你沒有把該工具箱添加到matlab的搜索路徑下,則需要分別把工具箱中所有用到的文件都復制到目錄abc和def下才能正確運行。這顯然浪費空間,所以,matlab提供了一個搜索路徑(默認在matlab安裝目錄下的toolbox中),只要把工具箱對應的整個文件夾復制到搜索路徑對應的目錄下,並且通知matlab一聲(把該路徑正確添加到搜索路徑中),就可以在abc和def中使用這個工具箱了(即無論你的工程文件在哪個目錄(有效的目錄)下都可以訪問這個工具箱中的函數)。下面就以matlab安裝目錄下的toolbox目錄作為默認的添加路徑進行詳細說明。
1. 如何添加工具箱看
以下是添加工具箱的方法:(論壇很多人轉載過,這里就不作區分了,下面的舉例也一樣)
如果是Matlab安裝光碟上的工具箱,重新執行安裝程序,選中即可。如果是單獨下載的工具箱,則需要把新的工具箱(以下假設工具箱名字為svm)解壓到toolbox目錄下,然後用addpath或者pathtool把該工具箱的路徑添加到matlab的搜索路徑中,最後用which
newtoolbox_command.m來檢驗是否可以訪問。如果能夠顯示新設置的路徑,則表明該工具箱可以使用了。具體請看工具箱自己代的README文件。
1.1 舉例:
要添加的工具箱為svm,則解壓後,里邊有一個目錄svm,假設matlab安裝在D:\MATLAB6p5,將svm目錄拷貝至D:\MATLAB6p5\toolbox,然後運行matlab,在命令窗口輸入addpath
D:\MATLAB6p5\toolbox\svm回車,來添加路徑。然後在svm目錄下,任意找一個m文件,以svcinfo.m為例,在命令窗口中輸入which
svcinfo.m。如果顯示出該文件路徑,如
D:\MATLAB6p5\toolbox\svm\svcinfo.m,則安裝成功,當然也可以在命令窗口輸入path來查看。
上面的說明和例子基本上介紹了在matlab中如何添加工具箱,下面是其他補充:
1.2 添加方式總結:
事實上,有兩種添加工具箱到matlab搜索路徑的方法:其一是用代碼,其二是用界面。其實無論用哪種方法,都是修改pathdef.m這個文件,閣下如果是高手,可以直接打開該文件修改,呵呵,對此這里不作討論。
1.2.1 代碼方式:
1.2.1.1 適用於添加下載的工具箱(別人的):
在命令窗口輸入addpath D:\MATLAB6p5\toolbox\svm 或者addpath(『D:\MATLAB6p5\toolbox\svm』);
但是這種方法只能添加svm目錄,如果該目錄下有其他子文件夾,並且運行時候逗隱式地調用到這些子文件夾(例如假設svm目錄下存在子文件夾matdata,該子文件夾下有logo.mat這個文件,且在m文件代碼中使用了諸如
load logo
這樣的句子,即沒有顯式給出logo.mat的具體路徑,則稱為逗隱式地),則不能正確訪問。因此,有必要在添加時使用以下語句把svm目錄下所有文件夾都添加到搜索路徑中:
500){this.resized=true;this.style.width=500;}"> 程序代碼
addpath(genpath(D:\MATLAB6p5\toolbox\svm));
另外,如果只使用以上代碼,則退出matlab後,新添加的路徑不會被保存下來,下次重新啟動matlab後又需要重新添加。可以用savepath來解決這個問題,即在命令窗口中使用
savepath 便可。不過保存路徑操作只對matlab
2006a、2006b有效(應該對版本7.0以上的都有效,因沒有測試,所以不敢肯定),對6.5版本的matlab無效(該版本沒有savepath這個命令)。
1.2.1.2 適用於添加自己的工具箱(即工具箱自己編寫,然後希望別人下載後當運行主文件時自動把路徑添加到matlab搜索路徑中):
在主文件中加入如下代碼;
500){this.resized=true;this.style.width=500;}"> 程序代碼
sCurrPath = fileparts(mfilename('fullpath'));
addpath(genpath(sCurrPath)); %如果該工具箱沒有其他子目錄,則可以不需要用genpath
savepath; %這句可根據各人需要自行選擇,相信上一節的解釋已經很清楚
1.2.2 界面方式:
首先把主界面調出來,有兩種方式,一種是在命令窗口輸入pathtool,另一種是在matlab菜單調用(File
-> Set Path…)。打開主界面後,相信不用太多解釋了。Add Folder… 或者 Add with subfolders…
就可以了,添加完畢後,如果需要保存該路徑,則在close前save一下就可以了。
這種方式的好處是如果路徑有問題,matlab會馬上報錯,告訴用戶添加失敗。
2 工具箱添加失敗:
2.1 work目錄和toolbox目錄問題:
你當然可以單獨把一個或多個文件(不含文件夾)放在work目錄下來實現逗1對n地,因為work目錄是其中一個matlab默認的搜索路徑,但顯然不能包含文件夾,如果包含文件夾,則同樣需要把該文件夾添加到搜索路徑中。相反,你不能單獨把一個或多個文件(不含文件夾)放在toolbox目錄下來實現逗1對n地,因為toolbox這個目錄並非matlab的一個默認搜索路徑,除非你把toolbox文件夾添加到搜索路徑中。
2.2 由於路徑名稱而導致添加失敗的總結:
2.2.1 路徑存在空格:
錯誤:addpath C:\Program Files\MATLAB\R2006b\toolbox\finity
正確:addpath(『C:\Program Files\MATLAB\R2006b\toolbox\finity』) 或者使用界面方式添加
說明:在6.5版本的matlab不推薦使用帶空格的路徑,因為matlab6.5的安裝路徑是不允許有空格的,因此不曉得帶空格的工具箱路徑會出現什麼問題。7.0以上應該沒有問題。
界面方式則估計沒有問題,有問題matlab會自動報錯的。
2.2.2 路徑存在中文:
用addpath和界面方式均可以成功添加,但不推薦,最好使用英文路徑。
2.2.3 路徑存在逗@地字元:
均不成功,不要使用逗@地字元
小結:出現其他與添加相關的錯誤時,用標準的路徑和文件名試試吧。
3 正確添加了工具箱,但運行調用時出錯:
3.1 版本問題:
對於工具箱檢測到matlab版本不兼容的問題,先引用一下happy教授的回復:
=====================happy================================
這個是有用的,估計是作者考慮到隨著matlab的升級會出現不兼容的問題,因此加了類似的設置error('unsupported
matlab version. please send an
email.');以提示大家。從這一設置上看4.x和5.x版本的是完全沒有問題的,之後的版本可能會出現問題,是否真的會出現需要進行測試
=========================================================
我也遇到過這類問題(如3.3節提到的spm5,下載得到的文件如果遇到2006版本的matlab則無法成功運行),但不是matlab的直接回復說逗版本不支持地,而是普通的語法出錯。我的經驗是根據錯誤提示調試一下,看看問題出在哪裡,然後再對程序作相應修改。例如在我的問題中,由於不支持最新的版本,所以2006a和2006b版本分別用下面的語句進行檢查:strcmp(version('-release'),'2006a')
和 strcmp(version('-release'),'2006b')。
3.2 程序中其他語法錯誤:
估計部分語法不兼容,例如7.0版本以上的matlab可以使用&&、||、@(x)等等之類的符號,但是在6.5版本下無效,這種錯誤也需要自己手動修改一下代碼。
3.3 工具箱中的函數重名問題:
Happy教授也提到過,除了改名,沒有太好的辦法。但是如果改的地方不止一個,例如遇到該文件進行了多次的自我調用(一個典型例子是以switch
和case語句進行區分不同的操作),或者其他文件存在對該文件的調用時,這是個很頭痛的事情。根據我的經驗,也沒有找到太好的解決辦法。以我所用的兩個工具箱為例,它們的文件夾名字不同(一個是spm2,一個是spm5),但是裡面的主m文件名字都一樣,為spm.m,如果兩個工具箱同處於matlab的搜索路徑中,會導致其中一個工具箱失效,更別說兩者之間通過切換來進行調用了。我一般的解決方法是安裝兩個matlab,例如一個是6.5版,一個是2006版,把兩個工具箱分別添加到不同的matlab中,這樣就可以啟動不同版本的matlab使用不同版本的工具箱了,呵呵,算是一個補救的方法吧。
3.4 找不到m文件的問題:
如果你已經把工具箱正確添加到搜索路徑下,這種情況一般不會發生。也就是說,通過逗文件夾
-> 運行matlab
->添加路徑地步驟後,該文件夾下所有文件應該都可以訪問到。但是,當你對該文件夾下的m文件更新(包括修改和新增)了以後,此時如果你不重啟matlab,則可能會出現找不到m文件的問題(特別是該工具箱中的文件沒有依賴關系,它們只是被放在一起方便調用,當你新增一個m文件到該文件夾下而不重啟matlab的時候,會造成這一新增m文件訪問失敗)。解決這個問題的方法之一顯然是重啟matlab,如果你不想重啟,也可用第二個方法:在命令窗口輸入:
rehash toolbox ,逗強制地matlab刷新toolbox目錄下的所有文件,這樣就可以正確訪問了。
C. 如何使用matlab中的工具箱
如果是系統自帶的,你可以直接用,如果是外部的或者是自編的你需要先把文件夾拷貝到tools文件夾下,再設置路徑。
Matlab常用工具箱介紹(英漢對照)
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系統工具箱
Communication Toolbox——通訊工具箱
Financial Toolbox——財政金融工具箱
System Identification Toolbox——系統辨識工具箱
Fuzzy Logic Toolbox——模糊邏輯工具箱
Higher-Order Spectral Analysis Toolbox——高階譜分析工具箱
Image Processing Toolbox——圖象處理工具箱
LMI Control Toolbox——線性矩陣不等式工具箱
Model predictive Control Toolbox——模型預測控制工具箱
μ-Analysis and Synthesis Toolbox——μ分析工具箱
Neural Network Toolbox——神經網路工具箱
Optimization Toolbox——優化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——魯棒控制工具箱
Signal Processing Toolbox——信號處理工具箱
Spline Toolbox——樣條工具箱
Statistics Toolbox——統計工具箱
Symbolic Math Toolbox——符號數學工具箱
Simulink Toolbox——動態模擬工具箱
System Identification Toolbox——系統辨識工具箱
Wavele Toolbox——小波工具箱
例如:控制系統工具箱包含如下功能:
連續系統設計和離散系統設計
狀態空間和傳遞函數以及模型轉換
時域響應(脈沖響應、階躍響應、斜坡響應)
頻域響應(Bode圖、Nyquist圖)
根軌跡、極點配置
較為常見的matlab控制箱有:
控制類:
控制系統工具箱(control systems toolbox)
系統識別工具箱(system identification toolbox)
魯棒控制工具箱(robust control toolbox)
神經網路工具箱(neural network toolbox)
頻域系統識別工具箱(frequency domain system identification toolbox)
模型預測控制工具箱(model predictive control toolbox)
多變數頻率設計工具箱(multivariable frequency design toolbox)
信號處理類:
信號處理工具箱(signal processing toolbox)
濾波器設計工具箱(filter design toolbox)
通信工具箱(communication toolbox)
小波分析工具箱(wavelet toolbox)
高階譜分析工具箱(higher order spectral analysis toolbox)
其它工具箱:
統計工具箱(statistics toolbox)
數學符號工具箱(symbolic math toolbox)
定點工具箱(fixed-point toolbox)
射頻工具箱(RF toolbox)
1990年,MathWorks軟體公司為Matlab提供了新的控制系統模型化圖形輸入與模擬工具,並命名為Simulab,使得模擬軟體進入了模型化圖形組態階段,1992年正式命名為Simulink,即simu(模擬)和link(連接)。matlab7.0里的simulink為6.0版本,matlab6.5里的simulink為5.0版本。
MATLAB的SIMULINK子庫是一個建模、分析各種物理和數學系統的軟體,它用框圖表示系統的各個環節,用帶方向的連線表示各環節的輸入輸出關系。
啟動SIMULINK十分容易,只需在MATLAB的命令窗口鍵入「SIMULINK」命令,此時出現一個SIMULINK窗口,包含七個模型庫,分別是信號源庫、輸出庫、離散系統庫、線性系統庫、非線性系統庫及擴展系統庫。
1.信號源庫
包括階躍信號、正弦波、白雜訊、時鍾、常值、文件、信號發生器等各種信號源,其中信號發生器可產生正弦波、方波、鋸齒波、隨機信號等波形。
2.輸出庫
包括示波器模擬窗口、MATLAB工作區、文件等形式的輸出。
3.離散系統庫
包括五種標准模式:延遲,零-極點,濾波器,離散傳遞函數,離散狀態空間。
4.線性系統庫
提供七種標准模式:加法器、比例環節、積分環節、微分環節、傳遞函數、零-極點、狀態空間。
5.非線性系統庫
提供十三種常用標准模式:絕對值、乘法、函數、回環特性、死區特性、斜率、繼電器特性、飽和特性、開關特性等。
6.系統連接庫包括輸入、輸出、多路轉換等模塊,用於連接其他模塊。
7.系統擴展庫
考慮到系統的復雜性,SIMULINK另提供十二種類型的擴展系統庫,每一種又有多種模型供選擇。
使用時只要從各子庫中取出模型,定義好模型參數,將各模型連接起來,然後設置系統參數,如模擬時間、模擬步長、計算方法等。SIMULINK提供了Euler、RungeKutta、Gear、Adams及專用於線性系統的LinSim演算法,用戶根據模擬要求選擇適當的演算法。
當然,不同版本的Matlab/Simulink內容有所不同。
另外,Simulink還提供了諸如航空航天、CDMA、DSP、機械、電力系統等專業模塊庫,給快速建模提供了很大的便利。
D. 如何向MATLAB中添加新工具箱
Matlab大部分函數都放在了toolbox這個文件夾下面。可以試著把需要的函數和工具箱放進去看看能不能用。象matlab升級以後功能會更強大,包含的工具箱也越多,所佔用的硬碟空間也變得很大。建議你安裝的時候選擇自定義安裝,只裝自己需要的幾個工具箱,看你需要是用在什麼專業,它裡面有很多比如財務工具箱,航空工具箱,生物技術工具箱對與我專業就沒有用,就可以不安裝。這樣就省了空間了。 總結一下matlab添加工具箱的方法:第一種:如果是安裝光碟上的工具箱,重新執行安裝程序,選中即可。如果是單獨下載的工具箱,一般情況下僅需要把新的工具箱解壓到某個目錄,然後用pathtool添加工具箱的路徑。在命令窗口中敲入pathtool,會出現一個setpath的窗口,點add folder或者add with subfolders按鈕,選中你的工具箱。保存既可。任選工具箱中的一個命令,然後help一下看看是否好使。字數限制。舉例:我下載了支持向量基工具箱,解壓後,里邊有一個目錄svm 我的matlab安裝在D:MATLAB6p5 將svm目錄拷貝至D:MATLAB6p5toolbox 然後運行matlab,在命令窗口輸入addpath D:MATLAB6p5toolboxsvm回車,來添加路徑。 然後在svm目錄下,任意找一個m文件,以svcinfo.m為例 在命令窗口中輸入which svcinfo.m 如果顯示出該文件路徑,如 D:MATLAB6p5toolboxsvmsvcinfo.m 則安裝成功
E. 怎麼把機器人工具箱建立的機器人模型導入到matlab中的vr模塊中
Link 對象包括連桿的各種屬性:運動學參數、慣性張量、電機、傳遞矩陣等
Link 的類函數回:
A :關節傳動矩陣
RP :關節類型答
friction : 摩擦力
nofriction : 摩擦為0
dyn : 顯示動力學參數
islimit:檢測關節變數是否超出范圍
isrevolute : 檢測關節是否為轉動關節
isprismatic : 檢測關節是否為移動關節
display : 顯示D-H矩陣
char : 轉化為字元串
F. 為什麼matlab2014沒有vr工具箱
在workspace下打vrinstall -install viewer %安裝瀏覽器matlab會提示你是選擇OpenGl加速還是Direct3d加速,按o或d選擇選擇完後,會出現blaxxun Contact viewer的安裝程序如下,將它裝上即可
再打vrinstall -install editor %安裝製作器,用vrinstall -install會將兩者都裝上
可以用命令vrinstall -check檢查是否安裝成功;安裝過程似乎比較長啊,尤其是裝viewer的時候。>> vrinstall -install
Installing blaxxun Contact viewer ...
Do you want to use OpenGL or Direct3D acceleration? (o/d) d
Starting viewer installation ...
Done.
Starting editor installation ...
Done.>> vrinstall -check
External VRML viewer: installed
VRML editor: installed可以在matlab的Preferences中查看使用的VRML editor ,還可以做出修改,如下 第二步:製作一個包含小球的三維模型
打開<matlab root>\toolbox\vr\vrealm\program\vrbuild2.exe %<matlab root>為matlab安裝的路徑,我的matlab是最新的2011版本,此文件路徑為toolbox\sl3d\vrealm\program\vrbuild2.exe
然後ctrl+N(點file菜單下的new也可以,表示新建一個三維實體),選中左邊的New world,然後點擊工具欄上圖標為一個球的按鈕,即添加了一個小球(你也可以添加其他的)將左邊的transform改成ball(名字而已),此時你可以看到它下面有一些center、rotation、scale、scaleOrientation、translation等等,這些就是matlab下可以控制的(下一步將介紹)。此時你可以修改這個小球的大小,位置,顏色等。還可以添加一些其他的三維實體,像燈光、fog、背景、視角等等。這兒就不介紹了,隨便你們怎麼玩吧。此時點擊保存,這兒我保存為ball.wrl,wrl文件是vrml格式(vrml格式其實就是跟html一樣,一種固定格式,只是面對的對象不同,你可以用文本編輯器看看它的格式)另外還可以
G. 如何使用matlab中的工具箱
1、我們首先給出對應的擬合數據:
>> x=1:100;
>> y=2*x;
一條直線。
H. MATLAB工具箱是怎樣的
MATLAB附帶了很多工具箱(Toolbox),而且每次發布新版本時,工具箱幾乎都要增加。按回F1鍵打開MATLAB的「Help」,答在窗口左邊顯示了MATLAB所有的工具箱。
一般來說,每個工具箱針對一個具體的問題,如圖像處理工具箱(ImageProcessingToolbox)專門針對數字圖像處理問題,偏微分方程工具箱()是偏微分方程(組)求解函數的集合。一個工具箱中包含若干函數。實際上,工具箱也是一個函數庫,在功能方面與MATLAB主體中的數值計算和數據可視化部分相同。但有一點區別:主體部分的核心函數都是內置函數,是用C語言編寫並編譯過的;而工具箱中的函數都是基於MATLAB的二次開發,即用MATLAB語言寫的.m文件。用Editor打開這些文件,就可以看到源代碼。
MATLAB工具箱一般具有較深厚的專業背景。本篇基本不涉及工具箱的內容。在下篇中,將從實例出發,在用到某工具箱時,對該工具箱進行簡單介紹。
I. MATLAB工具箱中都有什麼
matlab工具箱就是省去了matlab編程的過程,他就是把程序轉換成界面,便於初學者的學習,操作。裡面有各種工具箱,比如小波工具箱,神經網路工具箱,粒子演算法優化工具箱,模擬模擬工具箱等等