MATLAB--矩阵()

文章目录

前言

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

概念

在数学上矩阵的定义:由m*n个aij(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
⑤矩阵的对角线概念:
  主对角线:从矩阵左上角到右下角直线上的元素所在的对角线
  次对角线:从矩阵左下角到右上角直线上的元素所在的对角线

相关推荐
fengfuyao9854 小时前
基于MATLAB的匈牙利算法实现任务分配
算法·数学建模·matlab
lqjun08275 小时前
平面的方程公式
线性代数·机器学习·平面
却道天凉_好个秋5 小时前
OpenCV(九):NumPy中的矩阵的检索与赋值
opencv·矩阵·numpy
茜茜西西CeCe6 小时前
数字图像处理-领域平均滤波
图像处理·机器学习·计算机视觉·matlab·领域平均滤波
鲸大鱼的自我修养16 小时前
Matlab/Simulink技巧
matlab
MATLAB代码顾问17 小时前
MATLAB绘制9种最新的混沌系统
开发语言·matlab
std787920 小时前
深入浅出MATLAB数据可视化:超越plot()
matlab·信息可视化·数据分析
shimly1234561 天前
(done) 矩阵分块计算和分块转置
线性代数·矩阵
modest_laowang1 天前
矩阵李群的李代数的几何意义
线性代数·矩阵·抽象代数·拓扑学
jllllyuz1 天前
基于K近邻(KNN)算法的高光谱数据分类MATLAB实现
算法·matlab·分类