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每行每列的对应元素乘起来,A
和B
必须具有相同的大小。
TO be continue...