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

相关推荐
yugi9878389 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
IT猿手18 小时前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
啵啵鱼爱吃小猫咪19 小时前
机械臂能量分析
线性代数·机器学习·概率论
Physicist in Geophy.20 小时前
从矩阵到函数(算子理论)
矩阵·math
Physicist in Geophy.21 小时前
一维波动方程(从变分法角度)
线性代数·算法·机器学习
AI科技星1 天前
从ZUFT光速螺旋运动求导推出自然常数e
服务器·人工智能·线性代数·算法·矩阵
fie88891 天前
基于MATLAB的转子动力学建模与仿真实现(含碰摩、不平衡激励)
开发语言·算法·matlab
_OP_CHEN1 天前
【算法基础篇】(五十八)线性代数之高斯消元法从原理到实战:手撕模板 + 洛谷真题全解
线性代数·算法·蓝桥杯·c/c++·线性方程组·acm/icpc·高斯消元法
机器学习之心1 天前
基于GRU门控循环单元的轴承剩余寿命预测MATLAB实现
深度学习·matlab·gru·轴承剩余寿命预测
独断万古他化1 天前
【算法通关】前缀和:和为 K、和被 K整除、连续数组、矩阵区域和全解
算法·前缀和·矩阵·哈希表