matlab笔记

mean(x)求平均数函数
mean(a,dim),a是数组,dim为1或2,也可以省略,1表示列向平均,2则为横向
默认为列向平均

sqrtm是矩阵的开方
设矩阵a=x*x,则x=sqartm(a)
但是sqrt(a)则表示对数组中每一个元素进行开平方
 
Zscore函数
z=Zscore(x)= (x–mean(x))./std(x)
std(x) 算出x的标准偏差。 x可以是一行的matrix或者一个多行matrix矩阵
如果只有一行,那么就是算一行的标准偏差,如果有多行,就是算每一列的标准偏差。

normalize函数
Normalization,正规化,就是把变量都变换成0到1之间。
xx = (x - xmin) / (xmax - xmin)
xmin: 最小的x
xmax: 最大的x
xx: 正规划后的变量

zero函数
zeros(1,8)是创建一个1行,8列的零矩阵

assert函数

在matlab中assert函数用来判断一个expression是否成立,如不成立则报错'msgString'

例如:

assert(length(Y) == N, 'error: the number of labels does not match the number of instances!');

% 若Y的长度不为N,则输出后面这句错误提示。


R=rem(X,Y),求余数函数,X,Y应该为正数。

当X,Y为整数时候,rem(X,Y)=mod(X,Y),若不是整数,mod好像得不到准确的结果,而rem可以得到。

size:求矩阵的行数和列数:
[M N] = size(A);求矩阵的行列,M是行数,N是列数
size(A,1)只求行数
size(A,2)只求列数

rand函数
产生由在(0, 1)之间均匀分布的随机数组成的数组。 
Y = rand(n) 返回一个n x n的随机矩阵。如果n不是数量,则返回错误信息。 Y = rand(m,n) 或 Y = rand([m n]) 返回一个m x n的随机矩阵。 Y = rand(m,n,p,...) 或 Y = rand([m n p...]) 产生随机数组。 Y = rand(size(A)) 返回一个和A有相同尺寸的随机矩阵。

randi
是matlab中能产生均匀分布的伪随机整数的新函数。
randi([0 1],1,10)
生成1*10的0、1随机的矩阵:
ans =
1 1 1 0 0 1 0 1 0 0
reshape函数
reshape把指定的矩阵改变形状,但是元素个数不变,
例如,行向量:
a = [1 2 3 4 5 6]
 
执行下面语句把它变成3行2列:
b = reshape(a,3,2)
 
执行结果:
b =
1 4
2 5
3 6

bsxfun函数(矩阵外加)
假设我们有一列向量和一行向量。
a = randn(3,1), b = randn(1,3) a = -0.2453 -0.2766 -0.1913 b = 0.6062 0.5655 0.9057
c=bsxfun(@plus,a,b)同理有@minus

bsxfun的执行是这样的,如果a和b的大小相同,那么c=a+b. 但如果有某维不同,且a或b必须有一个在这一维的维数为1, 那么bsxfun就将少的这个虚拟的复制一些来使与多的维数一样。在我们这里,b的第一维只有1(只一行),所以bsxfun将b复制3次形成一个3×3的矩阵,同样也将a复制成3×3的矩阵。

std函数

repmat函数

 B = repmat(A,m,n)

B = repmat(A,[m n])
B = repmat(A,[m n p...])
 
这是一个处理大矩阵且内容有重复时使用,其功能是以A的内容堆叠在(MxN)的矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B = repmat(A,2,3)则最后的矩阵是6x12x5
 
例如:
>>B=repmat( [1 2;3 4],2,3)
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
 
 
其结果变为4X6。A也可以置放文字串,如:
 
 
>>C=repmat(' Long live the king!', 2,2)
C =
Long live the king! Long live the king!
Long live the king! Long live the king!
 
也可置放其他的:
 
 
>> D=repmat(NaN,2,5)
 
D =
NaN   NaN   NaN   NaN   NaN
NaN   NaN   NaN   NaN   NaN

Hessian矩阵
 http://blog.sina.com.cn/s/blog_7e1ecaf30100wgfw.html




posted @ 2015-09-22 16:13  程序员的戎马一生  阅读(316)  评论(0编辑  收藏  举报