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
⑤矩阵的对角线概念:
  主对角线:从矩阵左上角到右下角直线上的元素所在的对角线
  次对角线:从矩阵左下角到右上角直线上的元素所在的对角线

相关推荐
-代号95273 小时前
【LeetCode】十、二分查找法:寻找峰值 + 二维矩阵的搜索
算法·leetcode·矩阵
哥廷根数学学派11 小时前
基于自组织长短期记忆神经网络的时间序列预测(MATLAB)
开发语言·人工智能·深度学习·神经网络·算法·机器学习·matlab
simplesin13 小时前
线性代数大题细节。
线性代数
逼子格14 小时前
52、基于K 均值聚类实现基于颜色的分割(matlab)
matlab·均值算法·聚类·k均值聚类·颜色分割
哥廷根数学学派17 小时前
关于几种熵的计算(MATLAB)
大数据·开发语言·人工智能·算法·机器学习·matlab
wj98521118 小时前
线性代数--行列式1
线性代数
simplesin18 小时前
线性代数知识点搜刮
线性代数
科技之歌20 小时前
LeetCode 2732. 找到矩阵中的好子集
算法·leetcode·矩阵
AI小白龙20 小时前
【AI编译器】triton学习:矩阵乘优化
人工智能·学习·矩阵
电科_银尘20 小时前
【Matlab】-- 飞蛾扑火优化算法
开发语言·算法·matlab