📜  MATLAB-数组(1)

📅  最后修改于: 2023-12-03 15:32:51.089000             🧑  作者: Mango

MATLAB-数组介绍

MATLAB是一款强大的数学软件,它的核心是处理数组。本文将介绍MATLAB中数组的常见操作和一些高级技巧。

数组基础操作
创建数组

在MATLAB中创建数组有多种方法,其中最常用的是使用[]括号和,逗号。

% 创建一个行向量
a = [1 2 3 4]

% 创建一个列向量
b = [1; 2; 3; 4]

% 创建一个2x3的矩阵
c = [1 2 3; 4 5 6]

% 创建一个3维数组
d = rand(2, 3, 4)
修改数组

可以使用下标来修改数组元素。

a(2) = 5 % 将a中第2个元素改为5

c(1,2) = 0 % 将c中第1行第2个元素改为0
连接数组

可以使用[]括号和,逗号来连接数组。

e = [a b] % 将a和b连接为行向量e

f = [c; d] % 将c和d连接为一个3维数组f
切片数组

可以使用:来切片数组,下标从1开始。

g = a(2:4) % 获取a的第2~4个元素

h = c(1:2, 2:3) % 获取c的第1~2行第2~3列元素
查找数组

可以使用find()函数来查找数组中指定的元素。

index = find(a>2) % 获取a中大于2的元素的下标

value = a(find(a>2)) % 获取a中大于2的元素
排序数组

可以使用sort()函数来对数组进行排序。

sorted_a = sort(a) % 对a进行升序排序

sorted_c = sort(c, 2) % 对c的每一行进行升序排序
数组高级操作
复制数组

可以使用repmat()函数来复制数组。

new_a = repmat(a, 2, 3) % 将a复制为一个2x3的矩阵
矩阵运算

可以使用*.*来进行矩阵运算。其中,*表示矩阵乘法,.*表示逐元素相乘。

product = c*d % 矩阵乘法,计算c和d的乘积

elementwise_product = c.*d % 逐元素相乘
向量化运算

向量化运算是通过使用MATLAB中的内置函数来快速对整个数组进行运算。这比使用循环更快。

sin_a = sin(a) % 对a中的每个元素求正弦值

sum_c = sum(c, 2) % 对c的每一行求和
广播运算

广播运算是指在进行相同类型的操作时,MATLAB自动将低维数组转换成高维数组,以便与高维数组进行运算。

scalar = 2

new_a = scalar*a % 将2广播到a的每个元素

row_vector = [1 2 3]

new_c = row_vector + c % 将row_vector广播到c的每一行进行运算

以上就是MATLAB中数组的常见操作和一些高级技巧的介绍。希望本文能够帮助你更好地使用MATLAB处理数组。