MATLAB

总原则:能用向量矩阵解决的就不用for循环。

1. 匿名函数  @定义一个函数或变量,用括号里的字母作为变量名字。

标准格式是:


    fhandle=@(arglist)express


(1)express是一个matlab变量表达式,比如:x+x.^2,sin(x)等
(2)argilst是参数列表;
(3)符号@是matlab创建函数句柄的操作符,表示创建由参数列表arglist和表达式express确定的函数句柄,并把这个函数句柄返回给变量fhandle,这样,以后就可以通过fhandle来调用定义好的函数了。
如:
  myfun=@(x)(x+x.^2)

2. reshape  可以重新调整矩阵的行数、列数、维数。

  B = reshape(A,m,n)  返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数没有m*n个, 则会引发错误。
 
3. repmat  处理大矩阵且内容有重复时使用
其功能是:A的内容堆叠在矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定。
如果A是一个3x4x5的矩阵,有B = repmat(A,2,3) 则最后的矩阵是 (3x2)x(4x3)x5

例如:
>>B=repmat( [1 2;3 4],2,3)   %2x2变(2x2)x(2x3)即 4x6

B = 

1      2      1     2    1    2

3      4      3     4    3    4

1     2     1     2     1     2

3     4     3     4     3     4

4. unifrnd  创建随机的连续均匀分布的数组

A = unifrnd(-10, 10, [1,10]);  %产生一个1x10的随机数矩阵,其元素在-10到10均匀分布。

5. cell  可以存储不同类型的数据.可以是Matlab的类型或者自定义的类型

类型()是cell数组 ,{}是实际类型.结果显示是一致的

MATLAB并行环境

matlabpool local 2;  %2是核心数

  %parallel program

  parfor  %并行循环:循环迭代分组,每个worker执行迭代的一部分。每个迭代都必须不依赖其他迭代。由于parfor循环内有通信消耗,当只有小数量的简单计算时使用parfor可能得不到什么好处。

  spmd

matlabpool close

原文地址:https://www.cnblogs.com/tomatokely/p/7624695.html