matlab笔记
mean(x)求平均数函数
mean(a,dim),a是数组,dim为1或2,也可以省略,1表示列向平均,2则为横向
默认为列向平均
mean(a,dim),a是数组,dim为1或2,也可以省略,1表示列向平均,2则为横向
默认为列向平均
sqrtm是矩阵的开方
设矩阵a=x*x,则x=sqartm(a)
但是sqrt(a)则表示对数组中每一个元素进行开平方
设矩阵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: 正规划后的变量
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 0reshape函数reshape把指定的矩阵改变形状,但是元素个数不变,例如,行向量:a = [1 2 3 4 5 6]执行下面语句把它变成3行2列:b = reshape(a,3,2)执行结果:b =1 42 53 6bsxfun函数(矩阵外加)假设我们有一列向量和一行向量。a = randn(3,1), b = randn(1,3) a = -0.2453 -0.2766 -0.1913 b = 0.6062 0.5655 0.9057c=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
http://blog.sina.com.cn/s/blog_7e1ecaf30100wgfw.html