matlab中常用见的小知识点

矩阵相关:

在matlab中,矩阵或向量是 column-major 表示形式。用 [] 来构建向量或矩阵, 用()来引用向量或矩阵中的元素;用:表示矩阵中的该index下的所以元素;

 

matlab中取整函数的使用方法来自:http://www.ilovematlab.cn/thread-91895-1-1.html论坛)

Matlab取整函数有: fix, floor, ceil, round.具体应用方法如下:
fix朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor,顾名思义,就是地板,所以是取比它小的整数,即朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;floor(-1.8)=-2,floor(1.8)=1
ceil,与floor相反,它的意思是天花板,也就是取比它大的最小整数,即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,ceil(1.8)=2
round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。

 

matlab中与随机相关的知识:

随机数生成:

rand:生成均匀分布的伪随机数,分布在(0,1)之间; 如:rand(m,n):生成M*N的随机矩阵;

randn:生成标准正态分布的伪随机数,均值为0,方差为1;如:randn(m,n):生成M*N的随机矩阵;

randi:生成均匀分布的伪随机整数;如:randi(max), 在区间(0,max] 生成随机数;randi([min,max]), 在区间 [min,max] 之间生成随机数; randi(max, m, n)或randi([min, max], m, n)生成随机矩阵;

随机排序:

randperm函数,可以随机排列一个列数字,用法: randperm(n),  随机排列从区间 [1,n] 的整数;  randperm(n,k),  随机排列从区间 [1,n] 的整数,并随机返回其中的K个数;

 

matlab中数据处理的相关函数:

Zscore标准化函数: 什么是zscore? 即把数据处理以后变为方差为1,均值为0;

用法1:  Z = zscore(X)                       % 其中X为一维向量;
用法2:  Z = zscore(X,flag,dim)              % 其中X为一个二维数组, flag为0 表示无偏估计的方差,为1表示有偏估计; 
                                            % dim 表示对那个数轴操作,用为1表示结列;为2 表示对行操作;

mapminmax()函数: 把一个矩阵的行向量映射到 规定的范围内(默认为[-1,1]);

Y = mapminmax(X, Ymin, Ymax);           % X为一个二维矩阵,Ymin 与 Ymax 指定了映射范围;如: Y= mapminmax(X, 0, 1);

mapstd() 函数: 把一个矩阵按行, 标准化为指定的标准差与均值(默认:标准差为1,均值为0)

Y = mapstd(X, Ymean, Ystd)          %X 为一个矩阵, Ymean 表示均值, Ystd 表示标准差;

数据的FFT变换:

Y = fft(X,[],dim)            // X 为一个二维矩阵, [] 表示第二个参数为空, dim表示对指定的维度进行变换,默认为列,即第1维度;
Y = fft(X,n,dim)             // 参数n 指定了变换之后的 size; 如;n =256, 则变换后的FFT由256个点组成;

 

复数的相关操作:

假如 Z 为一个复数, 我们可以进行:

1.  求实部:    real(Z)
2, 求虚部:    imag(Z)
3. 求共轭:    conj(Z)
4. 求复数模的平方:    Z .* conj(Z)

 

矩阵相关操作:

全零矩阵;全 1 矩阵;单位矩阵:

zeros([m n])                       %都是以二维矩阵为例;
ones([m n])
eye([m n])

 

把一个矩阵扩展:  repmat()函数:

B = repmat(A, [m n])           % 把矩阵A 复制扩展为矩阵B,      例如:B= repmat(A, [2, 3]) ,        就变为了B= [  A,  A,  A 
                                                                                                             A,  A,  A ]

矩阵的重新: reshape()函数:把一个矩阵按 列优先 进行重排为指定的新矩阵;

B= reshape(A, [m n])                  //把矩阵A变为 m*n 的矩阵B, 要求: A的总元素个数必须等于m*n;

求:矩阵每一维度的大小, size()函数:

用法1: size(A)          //返回 A的每一维度的 大小;
用法2: size(A, dim)     //返回指定维度的大小;
例如: 若 A 为一个 4*3 矩阵: 则 size(A)  为 [3 2]; size(A, 1) 为4;
posted @ 2017-03-01 09:41  殷大侠  阅读(1046)  评论(0编辑  收藏  举报