目录
1.矩阵的概念
众所周知,矩阵是一个二维的数据阵列;
Matlab是一个基于矩阵的计算环境,最基本的的数据单元是矩阵,单个数值也存储为矩阵,在这种情况下,矩阵的大小为1乘1;
对于字符数据,例如'Hello World'这样的字符元素,看作是1×11的矩阵,每个字符表示一个矩阵元素;
另外,Matlab也支持有两个以上维度的数据结构,例如三维的数据结构,称为三维数组,以此类推,可达n维数组。
2.创建矩阵基本方法
基本运算符:[],即,使用中括号把矩阵元素数据括起来,用逗号或空格分隔同一行的元素,用分号或回车键分隔不同的行,程序示例如下:
[1 2 3] %1*3的矩阵
[1,2,3] %1*3的矩阵
[1 2 3;4 5 6] %2*3的矩阵
[1 2 3
4 5 6] %2*3的矩阵
3.创建矩阵的常用函数
话不多说,直接看程序示例:
zeros(1,4) %1行4列的全0矩阵(第一个参数表示行数)
zeros(3,4) %3行4列的全0矩阵(第二个参数表示列数)
zeros(4) %4阶(4*4)全0矩阵(只有一个参数则行数列数相同)
ones(1,4) %1行4列的全1矩阵
eye(3) %3阶单位矩阵
eye(2,3) %2行3列的单位矩阵
magic(3) %3阶魔方矩阵
magic(30) %30阶魔方矩阵
4.矩阵的属性
矩阵属性是指,描述矩阵的信息,包括大小、长度、元素数目和维度等;
常用的函数,如,矩阵的大小:size,矩阵的长度:length(矩阵行数和列数中最大者为矩阵的长度),矩阵元素数目:numel,矩阵的维度ndims;
注意:矩阵的大小,是指矩阵的行数和列数,如2行3列的矩阵,矩阵大小为2*3,与之区别的是,矩阵的维度,是指二维、三维、四维,…,n维(也称为高维/多维数组),而平时的说法中,如,矩阵的维度是2*3,其实是在讲,矩阵的大小是2*3;
再注意,严格来讲,二维矩阵才能称为矩阵,三维及以上应该成为数组,因为三维及以上的数组是不存在矩阵运算法则的,而平时的说法中,矩阵和数组多混为一谈,但不影响交流和使用,我们也不必咬文嚼字。
程序示例如下:
a=[1 2 3 4;5 6 7 8] %创建2*4矩阵
size(a) %获得矩阵的行数和列数,2和4
length(a) %矩阵长度:取行数、列数中的最大值,即为4
numel(a) %返回元素个数,即为8
ndims(a) %矩阵维度(2维度)
5.空矩阵
空矩阵是指,有一个或多个等于零的维度(0×0,0×1,1×0)
程序示例如下:
a=[] %创建空矩阵
size(a) %行列数都为0
length(a) %矩阵长度为0
numel(a) %元素个数为0
isempty(a) %判断是否为空矩阵,返回逻辑值1(真)
zeros(0,1) %创建空矩阵的其他方法
6.标量
标量是指,维度为1×1的矩阵,在Matlab中显示为单个实数或复数
程序示例如下:
a=2 %创建标量
size(a) %自行运行程序,观察标量矩阵的各属性
length(a)
numel(a)
isempty(a)
isscalar(a) %判断是否为标量,返回逻辑值1(真)
7.向量
向量是指,维度为1×n或n×1的矩阵,在Matlab中显示为一个行或一个列
程序示例如下:
a=[1 2 3] %创建1×3的向量
size(a) %自行运行程序,观察向量矩阵的各属性
length(a)
numel(a)
isempty(a)
isscalar(a)
isvector(a) %判断是否向量,返回逻辑值1(真)
8.数据序列
数据序列是一种特殊形式的矩阵,一般以行向量形式表现。
(1)冒号运算符(:)
应用格式:起始值:步长值:终止值
步长值可不写,默认为1,程序示例如下:
1:5 %行向量,即,[1 2 3 4 5]
1:4.5 %按照默认步长为1累计,终止值取到4(不能大于给定终止值),即,[1 2 3 4]
4:1 %空矩阵(初始值4加步长1,无论如何,都取不到终止值1)
4:-1:1 %行向量,即,[4 3 2 1]
2.5:0.3:3.2 %按0.3增长至终止值内,即,[2.5 2.8 3.1]
(2)创建序列的函数linspace
应用格式:linspace(初始值,终止值,元素数目)
元素数目可不写,默认为100,步长按照公式自动计算:(初始值-终止值)/元素数目,程序示例如下:
linspace(1,5,5) %1-5取5个元素,即,[1 2 3 4 5]
linspace(1,5) %1-5范围内均匀取100个元素
9.相关文章(推荐)
Matlab自学笔记三:创建脚本、M文件、运行脚本、注释、语法高亮、编程好习惯https://blog.csdn.net/freexyn/article/details/126943555
Matlab自学笔记六:矩阵索引的概念、下标索引、线性索引、逻辑索引、冒号和end索引、超出索引报错https://blog.csdn.net/freexyn/article/details/127481312Matlab自学笔记七:矩阵元素的合并、连接、提取、翻转、排序、平铺复制、提取对角线元素https://blog.csdn.net/freexyn/article/details/127716558
10.相关视频(推荐)
(建议进入bilibili平台观看,视频画质更佳)
Matlab基础入门/1.13/空矩阵/标量/向量/基本概念搞清楚了才能更好的当码农
1.6/Matlab创建矩阵/只有小白还在一个一个元素的输入
End