① MATLAB並行計算問題(應該是變數傳遞出了問題)
一、Matlab並行計算原理梗概
Matlab的並行計算實質還是主從結構的分布式計算。當你初始化Matlab並行計算環境時,你最初的Matlab進程自動成為主節點,同時初始化多個(具體個數手動設定,詳見下文)Matlab計運算元節點。Parfor的作用就是讓這些子節點同時運行Parfor語句段中的代碼。Parfor運行之初,主節點會將Parfor循環程序之外變數傳遞給計運算元節點。子節點運算過程時互不幹擾,運算完畢,則應該有相應代碼將各子節點得到的結果組合到同一個數組變數中,並返回到Matlab主節點。當然,最終計算完畢應該手動關閉計運算元節點。
二十六、初始化Matlab並行計算環境
這里講述的方法僅針對多核機器做並行計算的情況。設機器的CPU核心數量是CoreNum雙核機器的CoreNum2,依次類推。CoreNum以不等於核心數量,但是如果CoreNum小於核心數量則核心利用率沒有最大化,如果CoreNum大於核心數量則效率反而可能下降。因此單核機器就不要折騰並行計算了,否則速度還更慢。下面一段代碼初始化Matlab並行計算環境:
%Initialize Matlab Parallel Computing Enviornment by Xaero | Macro2.cn
CoreNum=2; %設定機器CPU核心數量,我的機器是雙核,所以CoreNum=2
if matlabpool('size')<=0 %判斷並行計算環境是否已然啟動
matlabpool('open','local',CoreNum); %若尚未啟動,則啟動並行環境
else
disp('Already initialized'); %說明並行環境已經啟動。
end
運行成功後會出現如下語句:
Starting matlabpool using the 'local' configuration ... connected to 2 labs.
如果運行出錯,按照下面的辦法檢測:
首先運行:
matlabpool size
如果出錯,說明你沒有安裝Matlab並行工具箱。確認安裝了此工具箱後,運行:
matlabpool open local 2;
如果出錯,證明你的機器在開啟並行計算時設置有問題。請聯系MathWorks的售後服務。
② 如何使用matlab中的工具箱
使用matlab中的工具箱方法:
MATLAB自帶工具箱
查看方式:
我們首先詳細介紹一下MATLAB自帶工具箱的使用。
在我們不熟悉一些調用工具箱的命令的時候,我們可以按照如下圖所示:
在MATLAB主窗口中,點擊左下角start--toolboxes,就會羅列出你的MATLAB已經安裝的所有工具箱,可以根據你的需要選擇你將要使用的工具箱。我們可以看到有擬合工具箱、金融工具箱、最優化工具箱等等。
調用(打開)方式:
下面我們介紹一下如何打開一個工具箱。
我們以調用擬合工具箱為例,進行詳細的示例。
調用方式一:
按照如下圖所示的步驟:
點擊主窗口左下角start--toolboxes--curve fitting--curve fitting tool 單擊,就可以打開擬合工具箱.
調用方式二:
在上一步中,我們在start--toolboxes--curve fitting--curve fitting tool ,到這里的時候,會看到在其後面有一個簡寫 cftool 如下圖,這就是我們的擬合工具箱調用命令函數。在MATLAB主窗口中輸入cftool ,回車,同樣可以打開擬合工具箱。
工具箱的使用:
擬合工具箱打開之後,如下,我們就可以進行多種曲線擬合了。
關於MATLAB擬合工具箱等,一些工具箱的詳細用法,由於篇幅的有限,在我的其他經驗中都會陸續給出,有興趣的可以查看。
非自帶工具箱
非自帶工具箱,需另外下載,然後按照一定的步驟導入,導入後一般不能像上面工具箱一樣,通過界面操作,一般都通過函數使用。由於工具箱的導入有幾個小的細節需要注意,所以在我的其他經驗中,關於如何導入工具箱,我也進行了詳細的介紹。
③ 數學建模MATLAB工具箱是什麼怎麼用
Matlab工具箱已經成為一個系列產品,Matlab主工具箱和各種工具箱(toolbox )。
工具箱簡介
1功能型工具箱 —— 通用型
功能型工具箱主要用來擴充Matlab的數值計算、符號運算功能、圖形建模模擬功能、文字處理功能以及與硬體實時交互功能,能夠用於多種學科。
2領域型工具箱 —— 專用型
領域型工具箱是學科專用工具箱,其專業性很強,比如控制系統工具箱( Control System Toolbox);信號處理工具箱(Signal Processing Toolbox);財政金融工具箱( Financial Toolbox)等等。只適用於本專業。
3
Matlab常用工具箱
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系統工具箱
Communication Toolbox——通訊工具箱
Financial Toolbox——財政金融工具箱
System Identification Toolbox——系統辨識工具箱
Fuzzy Logic Toolbox——模糊邏輯工具箱
Bioinformatics Toolbox——生物分析工具箱
Image Processing Toolbox——圖象處理工具箱
Database Toolbox——資料庫工具箱
Model predictive Control Toolbox——模型預測控制工具箱
Neural Network Toolbox——神經網路工具箱
Optimization Toolbox——優化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——魯棒控制工具箱
Signal Processing Toolbox——信號處理工具箱
Spline Toolbox——樣條工具箱
Statistics Toolbox——統計工具箱
Symbolic Math Toolbox——符號數學工具箱
Simulink Toolbox——動態模擬工具箱
Virtual Reality Toolbox——虛擬現實工具箱
Wavelet Toolbox——小波工具箱
等等…….
而且每個新出的版本都在增加、更新完善。
④ matlab可以同時運行兩個程序嗎
可以呀,仔細看一下MATLAB命令菜單上不是有個並行的英文(parallel)嗎,這就是MATLAB實現同時運行兩個程序的工具
並行計算工具箱的官網介紹
⑤ 如何向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就成功了。
⑥ matlab需要安裝哪些工具箱
至於Matlab工具箱安裝中涉及到了Matlab的搜索路徑、工作目錄、當前路徑、用戶路徑等好多術語。
MATLAB和Mathematica、Maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。
MATLAB可以進行矩陣運算、繪制函數和數據、實現演算法、創建用戶界面、連接其他編程語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
(6)matlab並行工具箱擴展閱讀:
編程環境:
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具採用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用於用戶瀏覽幫助、工作空間、文件的瀏覽器。
隨著MATLAB的商業化以及軟體本身的不斷升級,MATLAB的用戶界面也越來越精緻,更加接近Windows的標准界面,人機交互性更強,操作更簡單。
而且新版本的MATLAB提供了完整的聯機查詢、幫助系統,極大的方便了用戶的使用。簡單的編程環境提供了比較完備的調試系統,程序不必經過編譯就可以直接運行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
⑦ matlab gui 轉exe,程序里涉及到調用matlab並行工具箱,怎樣才能在沒有安裝matlab的電腦上運行呢
直接裝上MCR應該就可以運行了啊。我之前生成exe後,附帶的readme上面就寫著只要有這個exe以及MCR就可以用於發布了。
你現在是不能運行嗎?看看是不是MCR版本不夠高,沒支持並行工具箱。
參考資料:
matlab中exe生成和MCR安裝執行處理_緩步的駱駝_新浪博客
http://blog.sina.com.cn/s/blog_9d0b00a401011xam.html
MATLAB Compiler Runtime (MCR) - MATLAB Compiler - MathWorks 中國
http://www.mathworks.cn/procts/compiler/mcr/index.html
⑧ 如何檢查matlab中是否安裝並行計算工具包
在命令條中輸入:ver
然後回車
查看顯示的內容里是否有」Parallel Computing Toolbox「 這一行,順便可以查看它的版本。