2、矩阵介绍

目录

一、矩阵的构造

二、矩阵大小及结构的改变

三、矩阵下标的引用

1.矩阵下标访问单个矩阵元

2.线性引用矩阵元

3.访问多个矩阵元素

四、矩阵信息的提取

1.矩阵结构

2.矩阵大小

3.矩阵的数据类型


一、矩阵的构造

矩阵的构建方式有两种,一种与单元数组相似,可以对变量直接进行赋值;另一种是MATLAB中提供构建特殊矩阵的指令,例如

1. 建立简单矩阵
简单矩阵采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号“;”隔开,格式如下:

示例1分别构造一个二维矩阵、一个行向量、一个列向量

A=[2,3,5;3,6,10]  %使用逗号和分号构造二维矩阵

B=[2 3 5;3 6 10]  %使用空格和分号构造二维矩阵

V1=[1,2,3,4]  %构造行向量

V2=[1;2;3;4]  %构造列向量

运行结果:

2.建立特殊矩阵

特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵,常见的有对称矩阵、三角矩阵和对角矩阵等

示例2

O=ones(2)  %构造2*2的矩阵

Z=zeros(2)  %构造2*2的0矩阵

E1=eye(2)  %构造2*2的单位矩阵

E2=eye(2,3)  %构造2*3的单位矩阵

E3=eye(3,2)  %构造3*2的单位矩阵

运行结果:

3.向量、标量和空矩阵
通常情况下,矩阵包含m行和n列,即m×n。当mn取一些特殊值时,得到的矩阵具有一些特殊的性质。

1)向量

m=1n=1,即1×nm×1时,建立的矩阵称为向量。

示例3

a = [1 2 3 4 5 6]

b = [1;2;3;4;5;6]

whos  %调用whos函数查看a,b的相关信息

运行结果:

2)标量

m=n=1时,建立的矩阵称为标量。任意以1×1的矩阵形式表示的单个实数、复数都是标量。

示例4MATLAB中,标量有两种表示方法

x=10+2i  %将复数10+2i赋值给变量x

shape=size(x)  %查询变量x的形状信息

y=[10+2i]  %将复数10+2i构造的矩阵赋值给变量y

shape=size(y)  %查询变量y的形状信息

x==y  %判断变量x和变量y是否相等,相等得1,否则为0

运行结果:

注意单个实数或者复数在MATLAB中都是以矩阵的形式存储的;在MATLAB中,单个数据或由单个数据构造的矩阵都是标量

(3)空矩阵。
m=n=0,或者m=0,或者n=0,即0×00×nm×0时,创建的矩阵称为空矩阵。空矩阵可以通过赋值语句建立。

示例5

x=[]  %建立一个空矩阵

z=[0 0 0;0 0 0]  %建立一个2行3列的0矩阵

whos x z  %调用whos函数查看x,z的相关信息

运行结果:

二、矩阵大小及结构的改变

根据运算时的不同情况和需要,矩阵大小和结构的改变,主要的方式有旋转矩阵、改变矩阵维度、删除矩阵元素等。其相关函数有:

三、矩阵下标的引用

1.矩阵下标访问单个矩阵元

常用的矩阵索引表达式 

2.线性引用矩阵元

矩阵中某一元素的单下标索引值和双下标索引值之间,可以通过MATLAB内部函数进行转换,其语法形式为: 

其功能为将双下标索引值转换为单下标索引值,其中siz是一个包含两个元素的数组,代表了转换矩阵的行列数,一般可以直接用size(A)表示,ij分别是双下表索引中的行、列值,IND是转换后的单下标索引值。

其功能为将单下标索引值转换为双下标索引值,各变量意义同上。

示例6矩阵元素单双下标索引值转换

Matrix = magic( 3 )

IND = sub2ind( size( Matrix ),2,3)

[I J]= ind2sub(size( Matrix ),7)

运行结果:

3.访问多个矩阵元素

在下标表达式里,可以用冒号来表示矩阵的多个元素。例如,A(1:k,j)表示矩阵第j列的前k个元素。利用冒号,第4列元素的和可以用更为简洁的式子,语法格式如下:

还可简便写为:

此外,MATLAB提供了一个关键字end,用于表示该维中的最后一个元素,所以上式还可以改写成:

实际上还可以用冒号来表示非相邻的多个元素示例7

A=1:10

B=A(1:3:10)

运行结果:

四、矩阵信息的提取

1.矩阵结构

矩阵的结构是指矩阵子元素的排列方式。其相关函数

注意这类函数的返回值是逻辑类型的数据。返回值为“1”表示该矩阵是某一特定类型的矩阵;返回值为“0”表示该矩阵不是该特定类型的矩阵。

2.矩阵大小

矩阵的形状信息反映了矩阵的大小,通常包括

  1. 矩阵的维数。
  2. 矩阵各维(例如最长维、用户指定的维)的长度
  3. 矩阵元素的个数

其相关的4个函数为:

示例8利用eye函数建立一个5×3的矩阵,利用ndims函数获得矩阵A的维数信息

A=eye(5,3)

ndims(A)

运行结果:

3.矩阵的数据类型

矩阵作为MATLAB的内部数据存储和运算结构,其元素可以是各种各样的数据类型,对应不同数据类型的元素,可以是数值、字符串、元胞、结构体等。其相关函数有:

注意这类函数的返回值也是逻辑类型的数据。返回值为“1”表示是某一特定的数据类型;返回值为“0”表示不是该特定的数据类型

示例9矩阵元素的数据类型的判断

A=[2 3;10 7]

isnumeric(A)

isfloat(A)

islogical(A)

运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值