MATLAB--矩阵()

文章目录

前言

MATLAB作为数学软件计算软件,对于数学运算的性能十分优越,本文作为MATLAB记录关于在MATLAB中关于矩阵的知识。如有错误,还望指正。

概念

在数学上矩阵的定义:由m*n个a~ij~(i=1,2...... ,m;j=1,2......,n)排成的m行n列的数据表。
A = [ a 11 a 12 ⋯ ⋯ a 1 n a 21 a 22 ⋯ ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ ⋯ a m n ] A=\begin{bmatrix} a_{11} a_{12} \cdots \cdots a_{1n} \\ a_{21} a_{22} \cdots \cdots a_{2n} \\ \vdots \ \ \ \ \vdots\ \ \ \ \ \ddots\ \ \ \ \ \vdots \\ a_{m1} a_{m2} \cdots \cdots a_{mn} \\ \end{bmatrix} A= a11a12⋯⋯a1na21a22⋯⋯a2n⋮ ⋮ ⋱ ⋮am1am2⋯⋯amn

只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。

矩阵最初来自方程组的系数与常数构成的方阵。在MATLAB中矩阵以数组的形式存在。一维常数数组等同于向量,二维常数数组等同于矩阵。
注:数组按元素属性分为数值数组、字符数组、结构体数组、元胞数组。矩阵的表示相当于数值数组。是数组大概念的子集。
矩阵 ∈ 数组 矩阵 \in 数组 矩阵∈数组

矩阵构造

MATLAB中矩阵构造可以直接赋值,也提供了特殊矩阵的构造函数。

在此记录特殊函数集合

函数名称 函数功能
ones(n) 构造n*n的1矩阵(矩阵元素全为1)
ones(m,n,···,p) 构建m*n···*p的1矩阵
ones(size(A)) 构建与A同样大小的1矩阵(行列相同)
zeros(n) 构造n*n的0矩阵(矩阵元素全为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均匀分布
rand(m,n,···,p) 构建m*n···*p的矩阵,其中元素为0~1均匀分布
randn(n) 构建n*n的矩阵,其中元素为零均值、单位方差正态分布的随机数
randn(m,n,···,p) 构建m*n···*p的矩阵,其中元素为零均值、单位方差正态分布的随机数
diag(x) 构建主对角线元素为x对角矩阵。x=1时即单位矩阵
diag(A,y) 构建由矩阵N的第y条对角线元素组成的列向量
diag(x,y) 构建n+|k|维的矩阵,其中第k条对角线元素取自向量x,其余元素为0
triu(A) 构建和A大小相同的上三角矩阵,主对角线元素为A中对应的元素,其余元素为0
triu(A,k) 构建和A大小相同的上三角矩阵,矩阵的第k条对角线及其以上的元素为A中对应元素,其余为0
tril(A) 构建和A大小相同的下三角矩阵,主对角线元素为A中对应的元素,其余元素为0
tril(A,k) 构建和A大小相同的下三角矩阵,矩阵的第k条对角线及其以下的元素为A中对应元素,其余为0

注:
①:单位矩阵:矩阵元素从左上角到右下角元素全部为1,其余元素全部为0;
A = [ 1 0 ⋯ ⋯ 0 0 1 ⋯ ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ ⋯ 1 ] A=\begin{bmatrix} 1\ 0\cdots \cdots 0 \\ 0\ 1 \cdots \cdots 0 \\ \vdots\ \ \vdots \ \ \ \ddots\ \ \ \vdots \\ 0\ 0\ \cdots \cdots1\\ \end{bmatrix} A= 1 0⋯⋯00 1⋯⋯0⋮ ⋮ ⋱ ⋮0 0 ⋯⋯1
②:rand(n)可以用来生成pn码
③上三角矩阵:
A = [ 1 1 ⋯ ⋯ 1 0 1 ⋯ ⋯ 1 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ ⋯ 1 ] A=\begin{bmatrix} 1\ 1\cdots \cdots 1 \\ 0\ 1 \cdots \cdots 1 \\ \vdots\ \ \vdots \ \ \ \ddots\ \ \ \vdots \\ 0\ 0\ \cdots \cdots1\\ \end{bmatrix} A= 1 1⋯⋯10 1⋯⋯1⋮ ⋮ ⋱ ⋮0 0 ⋯⋯1
④下三角矩阵:
A = [ 1 0 ⋯ ⋯ 0 1 1 ⋯ ⋯ 0 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ ⋯ 1 ] A=\begin{bmatrix} 1\ 0\cdots \cdots 0 \\ 1\ 1 \cdots \cdots 0 \\ \vdots\ \ \vdots \ \ \ \ddots\ \ \ \vdots \\ 1\ 1\ \cdots \cdots1\\ \end{bmatrix} A= 1 0⋯⋯01 1⋯⋯0⋮ ⋮ ⋱ ⋮1 1 ⋯⋯1
⑤矩阵的对角线概念:
  主对角线:从矩阵左上角到右下角直线上的元素所在的对角线
  次对角线:从矩阵左下角到右上角直线上的元素所在的对角线

相关推荐
lizz312 分钟前
机器学习中的线性代数:奇异值分解 SVD
线性代数·算法·机器学习
CS创新实验室3 小时前
《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导
人工智能·机器学习·矩阵·机器学习数学基础
蚂蚁质量3 小时前
在MATLAB环境中,对矩阵拼接(Matrix Concatenation)的测试
matlab·矩阵
mosquito_lover111 小时前
使用Python SciPy库来计算矩阵的RCS特征值并生成极坐标图
python·矩阵·scipy
一只_程序媛15 小时前
【leetcode hot 100 54】螺旋矩阵
windows·leetcode·矩阵
dorabighead16 小时前
小哆啦解题记:螺旋矩阵
算法·矩阵·力扣·大话算法
@心都19 小时前
机器学习数学基础:39.样本和隐含和残差协方差矩阵
算法·机器学习·矩阵
AIzealot无21 小时前
力扣hot 100之矩阵四题解法总结
算法·leetcode·矩阵
Helene19001 天前
Leetcode 378-有序矩阵中第 K 小的元素
算法·leetcode·矩阵
ChoSeitaku1 天前
NO.24十六届蓝桥杯备战|二维数组八道练习|杨辉三角|矩阵(C++)
c++·线性代数·矩阵