① 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“ 这一行,顺便可以查看它的版本。