matlab 数组语法

  • disp(datestr(now))      // 输出此刻的时间

all():

  • B = all(A)                   // 如果A是一个向量:当A中元素都不为零时,返回1;否则,返回0;

                                         // 如果A是一个矩阵:则返回一个行向量,对每一列进行上面规则。

  • B = [A,dim]               //  当dim=2时,返回一个列向量。

ones():

  • X = ones(a,b)                   // 生成 a*b 大小的全 1 矩阵。
  • X = ones(n)                      // 生成 n*n 大小的全 1 矩阵
  • X = ones([2,3])                 // 生成 2*3 大小的全 1 矩阵
  •  p=[1 2 3; 4 5 6];          X=ones([ size(p), 'like', p])      X = [ 1 1 1;1 1 1];

eye():

  • I = eye(n)                        // 返回一个n*n的单位矩阵(对角线元素为1)
  • I = eye(n,m)                    // 返回一个n*m的单位矩阵
  • I = eye([3,2])                   // 返回一个3*2的单位矩阵
  • I = eye('like',p)                // 返回一个标量1,和p数据类型一样
  • I = eye(n,'like',p)             // 返回一个n*n的单位矩阵,和p是同数据类型

randperm():

  • R = randperm(n)          // 将1-n 之间的整数打乱顺序,展示出来。
  • R = randperm(n,k)       // 将1-n 之间的整数打乱顺序,只展示前 k 个。

randsample():

  • y = randsample(n,k)               // 在 1--n 之间产生k 随机数。
  • y = randsample(vector,k)       // 在向量vector里面随机挑 k 个不一样的数。

sum():

  • S = sum(A)                 // 如果A是一个向量,则返回向量中所有值的和;如果A是矩阵,则返回一个包括每列的和的行向量
  • S = sum(A,dim)          // 如果dim=2,就返回一个包含每行的和的列向量。

min():

  • M = min(A)                 // 如果A是一个向量,则返回此向量中包含元素的最小值;如果A是一个矩阵,则返回一个包含每列最                                     //小值的行向量
  • M = min(A, [ ], dim)    // 如果dim=2,则返回一个包含每行的最小值的列向量。
  • [M , I] = min(A)           // 如果A是一个矩阵,M为 一个包括每列最小值的行向量;I 为M中元素所在的第几行。
  • min(x,1,'includenan')  // 将矩阵中正数变成1,负数变成-1,“includenan”->NaN还是NaN. 不写“includenan”,则NaN会变成1
x=[-1 2 NaN 6
    3 7 0   0]
>> min(x,1)
ans = 
    -1  1  1  1
     1  1  0  0
>> min(x,1,'includenan')
ans = 
    -1  1  NaN  1
     1  1   0   0

cov():

  • C = cov(A)                 // 如果A是向量,C是方差;如果A是矩阵,C是协方差矩阵
  • C = cov(A,B)             // 同上

cumprod():

  • B = cumprod(A)        
A = 1 : 5
B = cumprod(A)
B = 
    1 2 6 24 120

A = [1 4 7 
     2 5 8
     3 6 9]
B = cumprod(A)
B = 
    1  4    7
    2  20   56
    6  120  504
  • B = cumprod(A,dim)     // 如果dim=2,则在每一行进行累积

eig():

  • e = eig(A)                 // 返回一个包含特征值的列向量
  • [V , D] = eig(A)         // D是个对角矩阵,对角元素是特征值;V是和D中特征值对应的特征向量。A*V=V*D.

sort():

  • B = sort(A)               // 如果A是一个向量,返回升序后的向量。如果A是矩阵,返回一个矩阵,按照每列进行升序排序
  • B = sort(A,dim)        // 如果dim=2,对每一行进行排序。
  • B = sort(A,direction)// direction 可以是‘ascend’ or 'descend'。
  • [B,I] = sort(A)          // B 是按列排序后的矩阵,I是排序之前每个元素在每列的位置,其大小和A一样。

sign():

  • Y = sign(x)              // 返回一个和x大小一样的向量或者矩阵,x中的元素大于0,Y对应的元素等于1;x中的元素小于0,Y对                                 //应的元素等于-1;x中的元素等于0,Y对应的元素等于0;

prod():

  • B = prod(A)            // 如果A是一个向量,则返回所有值的积;如果A是矩阵,则返回一个行向量,其元素是相应列元素的积
  • B = prod(A,dim)     // 如果dim=2,则返回一个列向量,其元素是每行的积

fliplr():

  • B = fliplr(A)            // 将A(矩阵或者向量)左右翻转

flipud():

  • B = flipud(A)         // 将A(矩阵或者向量)上下翻转

flip():

  • B = flip(A)             // 如果A是一个向量,则翻转。如果A是矩阵,则将每一列的列内部翻转。
  • B = flip(A,dim)      // 如果dim=2,则将每一行行内部翻转

find():

  • k = find(x)              // 如果X是向量,则返回一个和x同方向的向量,其元素是x中非零元素的下标;

                                     // 如果X是矩阵,则返回一个列向量,其元素是X中非零元素按照列排列的位置。

  • k = find(X,n)          // 返回前n个非零元素的下标。
  • k = find(x<10,5)       k = find(x==13)      // 返回的都是满足条件的下标。
  • k = find(X,num,'direction')                     // direction可是‘last’ or 'first'。返回‘前’或‘后’num个非零值的下标
  • [row,col,v] = find(---)                             // row为返回非零值的行标,col为列标,v是非零元素的值。

normrnd():

  • R = normrnd(mu,sigma)                      // mu 和sigma分别是均值和标准差。返回正态分布。
  • R = normrnd(mu,sigma,m,n....)           // 返回m*n个正太分布。

diag():

  • D = diag(v)             // v是一个向量,返回由v中元素组成对角线元素的对角矩阵
  • D = diag(v,k)          // 返回一个矩阵,第k条对角线上是v的元素。
  • D = diag(A)            // 返回一个列向量,其元素是A的主对角线元素。
  • D = diag(A,k)         // 返回一个包含第k条对角线元素的列向量

dot():

  • dot(A,B)               // 如果A和B是向量,则返回对应元素的乘积的和;如果A和B是矩阵,则返回一个行向量,其元素为两矩                                //  阵对应列的运算
  • dot(A,B,dim)        // 如果dim=2,则返回一个列向量。

rand():  /   randn():

  • X = rand               // 返回一个均匀分布的随机数
  • X = rand(n)          // 返回一个n*n大小的随机矩阵
  • X = rand(_,'like',p)   // 返回一个和p同类型的数据矩阵

randi():

  • randi(imax)                   // 返回一个随机数,其值在1--iamx之间
  • rand(imax,n)                 // 返回一个n*n的数组,其值在1--imax之间
  • randi(imax,sz1,...,szn)  // 返回一个sz1*...*szn的数组
  • randi(imax,sz) 
  • randi([min max],m,n)    // 返回一个m*n的数组,其元素在min--max之间随机生成
  • randi(imax,sz,...,'like',p) 

size():

  • d = size(X)            // 返回一个行向量,元素为X的各个维度
  • [m,n] = size(X)      // 把X的各个维度依次返回给m,n。
  • m = size(X,dim)    // 返回指定维度的大小

length():

  • L = length(X)        // 如果X是一个向量,则返回向量的个数;如果X是矩阵,则返回矩阵维度最大的那一个维度值

gcd():

  • G = gcd(A,B)       // 返回最大公约数

​​​​​​​lcm():

  • L = lcm(A,B)        // 返回最大公倍数

​​​​​​​rem():

  • r = rem(a,b)        // a/b 的余数

​​​​​​​round():

  • Y = round(X)     // 四舍五入。round(1.5)=2
  • Y = round(X,N) // 如果N>0,则将小数点右边N位进行四舍五入。N=0,则四舍五入成整数。N<0,则在小数点左边N位进行四                           // 舍五入成

猜你喜欢

转载自blog.csdn.net/feiyuxiucun/article/details/81175834