matlab特典之矩阵(数组)运算

特殊矩阵(数组)的创建

zeros  

  格式:数组名=zeros(x);

  zeros用来创建一个x行x列值全为0的矩阵

  

ones

  格式:数组名=ones(x);

  ones用来创建一个x行x列值全为1的矩阵

  

eye

  格式:数组名=eye(x);

  eye用来创建一个x行x列值的单位矩阵矩阵

  

多维数组的创建

  多维数组是什么呢,定义上来说也是数字的集合,只不过存放的维度变了,详见下图

  

  具有二维以上的数组在MATLAB中被称为多维数组,中文上我们习惯将第一维叫行,第二维叫列,第三位叫页。

   MATLAB中的多维数组是正常二维矩阵的扩展。通常要生成一个多维数组,首先创建一个二维数组然后再扩展它。

   首先我们定义一个二维数组,x=[1 2 3;4 5 6;7 8 9]

   

   在二维的基础上我们可以扩展第三维

   格式:数组名=(:,:,x)=二维数组的定义方式  

   作用:在第三维为x的位置赋值为等号右边的数组

   其中冒号:指代数组的前两维度的大小,我们不需要填进去,因为二维数组已经生成了我们只用管第三维即可

   

    我们上面说到的zeros,ones和eye也可以创建多维数组

  用法:数组名=函数名(x,y,z,...)   解释:创建一个多维数组其中第一维大小为x,第二为y,第三为z。。。

   

数组直接的链接

  使用cat函数可将数组的直接相互链接起来生成一个新数组。

  格式:数组名=cat(dim,A1,A2...)其中dim为你要链接的个数

  

数组的各种常见函数

   数组有很多函数可以用,具体详见:https://www.yiibai.com/matlab/matlab_arrays.html

  在此列举几个常用的

length

   length为数组的大小,数值上等于行数和列数的较大值

    

size  

  size返回数组的维度,即各个维度的大小

  

   可以看到x是一个3行3列2页的数组

ndims 

  ndims返回数组的维数

   

transpose

  transpose(x)   将数组x进行转置

   

矩阵的相互运算

矩阵乘法

  符号为*,x=A*B代表x为矩阵A*矩阵B

  

阵列乘法

   符号为.* ,x=A.*B代表x为矩阵A和矩阵B每行每列的对应元素乘起来,AB必须具有相同的大小。

   

TO be continue...

 

  

 

 

 

 

  

 

 

 

  

 

posted @ 2020-03-20 19:51  艾尔夏尔-Layton  阅读(583)  评论(0编辑  收藏  举报