Matlab中的向量和数组(超详细)

您所在的位置:网站首页 德育原则和基本要求 Matlab中的向量和数组(超详细)

Matlab中的向量和数组(超详细)

#Matlab中的向量和数组(超详细)| 来源: 网络整理| 查看: 265

Matlab中的向量和数组(超详细)

文章目录 Matlab中的向量和数组(超详细)Matlab中的向量介绍创建向量向量的大小索引向量数值索引逻辑索引 缩短向量向量运算算术运算逻辑运算sum()、min()、max()、round()、ceil()、floor()、fix()切片 Maltab中的数组数组的属性创建数组访问数组元素数组运算数组的算术运算数组的逻辑运算sum()、max()、min()、round()、ceil()、floor()、fix()连接数组切片数组重塑数组

Matlab中的向量 介绍

matlab中的向量是只有一行元素的数组,向量中的单个项通常称为元素。Matlab中的向量索引值从1开始,而不是从0开始。

创建向量 直接输入值 例如: 这里既可以用逗号来分割,也可以用空格 在这里插入图片描述使用冒号输入某一数字范围的值,例如,C=1:4:20,其中第一个数字是起始值,第二个数字是步长,第三个数字是终止值。如果步长是1的话,可以不写步长

例如: 在这里插入图片描述

使用函数linspace( ⋯ \cdots ⋯):用于创建两个限定值之间固定数量的值。

例如: 其中第一个数字是起始值,第二个数字是终止值,第三个数字是这个区间向量的个数 在这里插入图片描述

函数zeros(1,n):创建全零的向量

例如: 其中第一个数字是数组的行数,第二个数字是数组的列数。 在这里插入图片描述

函数ones(1,n):创建全1的向量

例如: 其中第一个数字是数组的行数,第二个数字是数组的列数。 在这里插入图片描述

rand(1,n):创建0~1之间的随机数的向量

例如:

在这里插入图片描述

向量的大小

Matlab提供两个函数来确定一般数组和特殊向量的大小:size()和length().

size():返回向量中的行的数量和列的数量。由于向量是一维的,所以第一个每次输出都是一 在这里插入图片描述length():返回数组行列大小的最大值,对于向量,表示其长度

例如:

在这里插入图片描述

索引向量

通过在括号内输入零个(全部输出)或多个元素的索引值,可以单个或分组访问向量中的元素。可以通过以下两种方式中的任意一种访问向量中的元素: 使用数值向量和逻辑向量。

数值索引

通过在括号内输入零个或多个元素的索引值,可以单个或分组访问向量中的元素。 例子: 在这里插入图片描述 另外,索引环境中的关键字end表示向量中的最后一个元素的索引 在这里插入图片描述 **注意:**在Matlab中在赋值操作中输入的索引超过当前的边界,Matlab会自动扩列,空位用零补齐,比如,我们在这个例子中输入A(10)看看会有什么结果。在这里插入图片描述

逻辑索引

我们来看一个例子: 创建了一个condition逻辑数组,通过数组来索引这个向量 在这里插入图片描述

缩短向量

有些时候,我们需要删除向量中的元素。可以用索引将需要删除的部分赋值为[ ] 在这里插入图片描述 但是,缩短向量不是做正确的方法,因为可能会导致一些逻辑问题,在可行的情况下,应该使用索引来复制需要保存的元素。

向量运算 算术运算 向量中的加减法运算

可以看见是对向量中每个元素进行加法运算,减法也一样 在这里插入图片描述

向量中的乘法、除法.

例子

在这里插入图片描述

向量中的指数

在这里插入图片描述 . ∗ .* .∗ 和 ∗ * ∗的区别: 对于矩阵和数字之间的运算, . ∗ .* .∗ 和 ∗ * ∗没什么区别,但是对于矩阵和矩阵之间, . ∗ .* .∗ 表示矩阵对应元素相乘,而 ∗ * ∗表示矩阵乘法。

逻辑运算

向量的逻辑运算会产生的逻辑结果向量。 例如: 在这里插入图片描述 逻辑与(&)和逻辑或(|):

例子: 在这里插入图片描述

find():可以用find()函数查找值为true的元素在一个逻辑向量中的索引值 例如: 在这里插入图片描述

sum()、min()、max()、round()、ceil()、floor()、fix()

sum():向量中元素的总和; 在这里插入图片描述 min()、max():返回向量中元素最小最大值; 在这里插入图片描述 round()、ceil()、floor()、fix():常规取整、向上取整、向下取整、向零取整 在这里插入图片描述

切片

切片操作能将一个向量中的指定元素复制到另一个向量的不同位置。 看一个简单的例子: 在这里插入图片描述

Maltab中的数组

向量是聚集相似数据集的最简单的方法。而数组是向量的拓展,使其包括多个维度的数组,其中二维数组是每行具有相同的列,并且每列具有相同的行。

数组的属性 size():返回各个维度的大小

在这里插入图片描述

length():返回数组的最大维度 在这里插入图片描述 创建数组

直接输入值 和向量一样,在数组中直接输入值时,可以使用分号(;)或以新的一行来表示换行 在这里插入图片描述

zeros(m,n):创建m行n列的全0的数组

rand(m,n):创建m行n列的0~1随机数的数组

randn(m,n):创建m行n列的正态分布随机数的数组

diag():返回对角线上的元素

在这里插入图片描述

访问数组元素

数组的索引是从列开始,从上往下依次为1,2,3 , ⋯ \cdots ⋯ 例如: 在这里插入图片描述

数组运算 数组的算术运算 数组之间的加减

例子:

在这里插入图片描述

数组之间的乘法

数组和数字的乘法:对应元素相乘 例子: 在这里插入图片描述

数组与数组的乘法( ∗ * ∗):一定要符合矩阵可乘。 例子 在这里插入图片描述

数组与数组之间的 . ∗ .* .∗:对应元素相乘:

例子:

在这里插入图片描述

数组的逻辑运算

如果两个数组具有相同的大小,或者其中一个数组是标量(及长度为1的向量),逻辑运算可以同时执行在这两个数组的各个元素上。 例如 在这里插入图片描述

sum()、max()、min()、round()、ceil()、floor()、fix()

sum():返回一个行向量,包含该数组每列的总和 在这里插入图片描述

max()和min():分别返回一个行向量,每列的最大值和每列的最小值

在这里插入图片描述

连接数组

看一个简单的例子 在这里插入图片描述

切片数组

对一个数组进行切片:A(对行索引,对列索引)

例子: 在这里插入图片描述

重塑数组

有些时候我们希望将某一维度的数组变形为另一种维度的需求,函数reshape( ⋯ \cdots ⋯)能完成这种边形。

例子: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3