算法的快速开发工具——Matlab

       对于理工科的研究生,经常需要自己设计一些算法,往往会涉及一些数学计算,而Matlab对各种数学算法的支持绝对是其他语言无法比拟的。本文主要介绍Matlab中两个常用功能。
第一、关于Matlab的并行编程parfor。parfor环境中编程最重要的有三点:
1、去掉所有全局变量;
2、所有parfor中访问的数组都必须用parfor的index来访问;
3、不允许复杂访问,如2*i,2*i+1等数组访问;
事实上,第二点保证了各次循环间的独立,也就在逻辑上使并行化成为可能。顺便提一下,C++平台下的并行编程工具有MPI,当按照parfor修改了代码后,就很容易将自己的算法转换到在基于C++ 平台 MPI上了。关于parfor的学习,我觉得Matlab的Help文档是非常好的资料。

第二、关于Matlab的Cell编程方法。以前一直有用,但今天才知道我是把Cell大材小用了。Cell编程主要有一下特定:
1、分块运行:传统的代码都是由上往下顺序执行的。Cell不仅仅是从显示的角度对代码分块,在运行机制上也实现了代码的分块运行,你甚至可以在不需要保存脚本文件的情况下对同一代码文件中的不同段进行分块运行;
2、 发布:可以将代码发布成HTML或者doc等格式的文件,其中会自带包括图形、数字等运行结果,对于以后查看代码的情况非常方便;
3、代码说明:可以在其中集成公式、文字(bold、normal等格式) 。
Cell学习链接:
http://cn.mathworks.com/support/2012a/matlab/7.14/demos/RapidCodeIterationUsingCells_viewlet_swf.html
http://cn.mathworks.com/support/2012a/matlab/7.14/demos/PublishingfromtheEditor_viewlet_swf.html
 

你可能感兴趣的:(语言学习)