Matlab系列教程_基础知识_基本矩阵操作

本次我们将讲到Matlab的矩阵的相关操作。

  • 矩阵的构建

  • 矩阵的大小和结构的改变

  • 矩阵下标的引用

  • 矩阵信息的获取

下面我们来详细的谈谈相关内容。


- 矩阵的构建

矩阵构建函数如下表:

函数名称函数功能
ones(n)构建一个n*n的1矩阵
ones(m,n,…,p)构建一个m*n*…*p的1矩阵
ones(size(A))构建一个和 A 同样大小的1矩阵
zeros(n)构建一个n*n的 0矩阵
zeros(m,n,…,p)构建一个m*n*…*p的0矩阵
zeros(size(A))构建一个和 A 同样大小的0矩阵
eye(n)构建一个n*n的单位矩阵
eye(m,n)构建一个m*n的单位矩阵
eye(size(A))构建一个和 A 同样大小的单位矩阵
magic(n)构建一个n*n矩阵,每一行每一列加起来都相等
rand(n)构建一个n*n矩阵,0~1之间的数值随机分布
diag(x)构建一个n维矩阵,主对角线元素取自x,其余元素都是0
triu(A)构建一个上三角形矩阵,主对角线元素和A 相等,其余元素都是0
triu(A,k)构建一个上三角形矩阵,第k条对角线元素一以上元素和A 相等,其余元素都是0
tril(A)构建一个下三角形矩阵,主对角线元素和A 相等,其余元素都是0
tril(A,k)构建一个下三角形矩阵,第k条对角线元素一以下元素和A 相等,其余元素都是0

建立简单的矩阵,注意“;”和“‘,”的区别

%创建二维矩阵
matrix_A=[1,2,3;4,5,6]

%创建行向量
matrix_B=[1,2,3,4,5,6]

%创建列向量
matrix_C=[1;2;3;4;5;6]

%创建空矩阵
matrix_D=[]


- 矩阵的大小和结构的改变

这里介绍一下排序和旋转,如下表:

函数名称函数功能
fliplr(A)函数每一行均进行逆序排列
flipud(A)函数每一列均进行逆序排列
rot90(A)生成一个矩阵A逆时针转90°的新矩阵
rot90(A,k)生成一个矩阵A逆时针转90°*k的新矩阵
sort(A)对矩阵的每一行进行升序排列
sort(A,dim,mode)当dim==1时,对每一列排列,dim==0时对每一行排列;当mode=’ascend’时,升序,mode=’descend’为降序排列。

- 矩阵下标的引用

矩阵的索引表达式如下表:

索引表达式函数功能
A(1)将二维矩阵A重组为一位数组,樊慧苏组中第一个元素。
A(:,j)返回二维矩阵中第j列列向量
A(i,:)返回二维数组中第行行向量
A(:,j:k)返回二维矩阵中第j列到第k列的列向量组成的子矩阵
A(i:k,j)返回二维矩阵中第i行到第k行的列向量组成的子矩阵
A(:)将矩阵合并成一个长的列向量
A(j:k)返回A(:)中第j个元素到第k个元素。

- 矩阵信息的获取

矩阵结构测试函数

isempty(A):判断矩阵是否为空

矩阵大小获取函数

函数调用格式描述
ndimsn=ndims(X)获取函数的维数
size[m,n]=size(X)获取矩阵各维上的长度
lengthn=length(X)获取矩阵最长维的长度
numeln=numel(X)获取矩阵元素的个数

矩阵数据类型函数

函数名称函数功能
isnumeric检测矩阵元素是否为数值型变量
isreal检测矩阵元素是否为实数型变量
isfloat检测矩阵元素是否为浮点型变量
isinteger检测矩阵元素是否为整数型变量
ischar检测矩阵元素是否为字符型变量

PS:虽然看着模糊,上机一试便会了。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页