数据结构论坛

首页 » 分类 » 问答 » Matlab创建矩阵矩阵大小维度空
TUhjnbcbe - 2024/5/7 17:36:00

1.矩阵的概念

众所周知,矩阵是一个二维的数据阵列;

Matlab是一个基于矩阵的计算环境,最基本的的数据单元是矩阵,单个数值也存储为矩阵,在这种情况下,矩阵的大小为1乘1,再例如HelloWorld这样的字符元素,看作是1×11的矩阵,每个字符表示一个矩阵元素,另外,Matlab也支持有两个以上维度的数据结构,例如三维的数据结构,成为三维数组,以此类推,可达n维数组。

2.创建矩阵基本方法

基本运算符:[],即,使用中括号把矩阵元素数据括起来,用逗号或空格分隔同一行的元素,用分号或回车键分隔不同的行,程序示例如下:

[]%1*3的矩阵

[1,2,3]%1*3的矩阵

[;]%2*3的矩阵

[

]%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=[4;]%创建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×3的向量

size(a)%自行运行程序,观察向量矩阵的各属性

length(a)

numel(a)

isempty(a)

isscalar(a)

isvector(a)%判断是否向量,返回逻辑值1(真)

8.数字序列

数据序列是一种特殊形式的矩阵,一般以行向量形式表现。

(1)冒号运算符(:)

应用格式:起始值:步长值:终止值

步长值可不写,默认为1,程序示例如下:

1:5%行向量,即,[45]

1:4.5%按照默认步长为1累计,终止值取到4(不能大于给定终止值),即,[4]

4:1%空矩阵(初始值4加步长1,无论如何,都取不到终止值1)

4:-1:1%行向量,即,[]

2.5:0.3:3.2%按0.3增长至终止值内,即,[2.52.83.1]

(2)创建序列的函数linspace

应用格式:linspace(初始值,终止值,元素数目)

元素数目可不写,默认为,步长按照公式自动计算:(初始值-终止值)/元素数目,程序示例如下:

linspace(1,5,5)%1-5取5个元素,即,[45]

linspace(1,5)%1-5范围内均匀取个元素

End

1
查看完整版本: Matlab创建矩阵矩阵大小维度空