MATLAB repmat()、ones()、zeros()、prod()函数的使用

一、repmat函数

repmat函数主要是用于快速的产生一个大的矩阵,它的用法一般有下面几种:

B = repmat(A,M,N)

矩阵B是矩阵A的复制品,其中B的维度为[size(A,1)*M, size(A,2)*N]。如果你写成repmat(A,[M,N])也是可以的;如果你写成repmat(A,N),那么它等价于repmat(A,N,N)或者repmat(A,[N,N])。

eg:  repmat(magic(2),2)

>> repmat(magic(2),2)

ans =

     1     3     1     3
     4     2     4     2
     1     3     1     3
     4     2     4     2

eg: repmat(magic(2),2,2)

>> repmat(magic(2),2,2)

ans =

     1     3     1     3
     4     2     4     2
     1     3     1     3
     4     2     4     2

eg: repmat(magic(2),1,3)

>> repmat(magic(2),1,3)

ans =

     1     3     1     3     1     3
     4     2     4     2     4     2

当然,它不仅对矩阵能用,对单变量与向量也适用。如: 
eg: repmat(uint8(5),2,3)

>> repmat(uint8(5),2,3)

ans =

  2×3 uint8 矩阵

   5   5   5
   5   5   5

二、ones()函数

ones的作用是产生全1矩阵,ones(N)是产生一个N*N的全1矩阵;ones(M,N)产生一个M*N的矩阵

>> ones(2)

ans =

     1     1
     1     1

>> ones(2,5)

ans =

     1     1     1     1     1
     1     1     1     1     1

三、zeros()函数

创建一个全零的矩阵

eg:二维的数组【即矩阵】

>> zeros(3)

ans =

     0     0     0
     0     0     0
     0     0     0

>> zeros(3,5)

ans =

     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0

eg:三维数组 

>> zeros(5,3,2)

ans(:,:,1) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0
     0     0     0


ans(:,:,2) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0
     0     0     0

四、prod()函数

用来做乘积用。

B = prod(A)------将A矩阵不同维的元素的乘积返回到矩阵B。

● 如果A是向量,prod(A)返回A向量的乘积。

● 如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。

>> A = [1,2,3]

A =

     1     2     3

>> prod(A)

ans =

     6

============================================

>> A = [1,2,3;2,3,4;3,4,5]

A =

     1     2     3
     2     3     4
     3     4     5

>> prod(A)

ans =

     6    24    60

============================================

>> prod(1:3)

ans =

     6

 

 

你可能感兴趣的:(Matlab2018a)