前言
Matlab介绍
01
矩阵与数组的基本概念
在MATLAB中,矩阵是二维数组,而数组可以是一维或多维。矩阵和数组都是由相同类型的元素组成的数据结构,它们在MATLAB中扮演着核心角色。
02
创建矩阵与数组
直接输入法:
你可以直接输入矩阵和数组的值,例如:
A = [1 2 3; 4 5 6; 7 8 9]
B = [1, 2, 3] 或 B = [1 2 3]
冒号表达式:
内置函数:
MATLAB提供了多种内置函数来创建特定类型的矩阵和数组,例如:
03
矩阵与数组的运算
基本算术运算:
MATLAB支持矩阵和数组的加、减、乘、除等基本算术运算:
逻辑运算:
逻辑运算可以应用于相同大小的矩阵或数组:
函数运算
MATLAB提供了丰富的函数来对矩阵和数组进行操作:
04
矩阵与数组的属性和操作
属性:
访问元素:
逻辑运算可以应用于相同大小的矩阵或数组:
矩阵的reshape和permut:
MATLAB提供了丰富的函数来对矩阵和数组进行操作:
05
更多操作见下汇总表
运算要保证矩阵或数组的维度一致
内容 | 操作 | 注释 |
直接输入法 | A = [1 2 3; 4 5 6; 7 8 9] B = [1, 2, 3] | 创建矩阵与数组 |
冒号表达式 | C = 1:5 D = 1:2:10 | 生成1到5的向量; 生成1到10的步长为2的向量。 |
内置函数 | E = zeros(3, 3) F = ones(2, 4) G = eye(3) H = rand(4, 4) I = randn(2, 3) | 3x3的全零矩阵; 2x4的全一矩阵; 3x3的单位矩阵; 4x4的随机数矩阵; 2x3的标准正态分布 随机数矩阵。 |
基本算术运算与逻辑运算 | J = A + B K = A - B L = A * B M = A .* B N = A ./ B P = A == B Q = A < B | 矩阵相加; 矩阵相减; 矩阵乘法; 元素乘法; 元素除法; 元素相等; 元素比较。 |
函数运算 | R = sum(A) S = max(A) T = min(A) U = mean(A) V = median(A) | 计算每列的和; 计算每列的最大值; 计算每列的最小值; 计算每列的平均值; 计算每列的中位数。 |
属性 | W = size(A) X = length(A) | 获取矩阵A的大小 获取矩阵A的最大维度 |
访问元素 | Y = A(2, 3) Z = B(2) | 访问第二行第三列的元素; 访问数组B的第二个元素。 |
矩阵的reshape和permut | M = reshape(A, 2, 6) N = permute(A, [2 1]) | 将矩阵A重塑为2x6的矩阵; 交换矩阵A的行和列 |
连接 | AB = vertcat(A, B) AC = horzcat(A, B) | 垂直连接A和B; 水平连接A和B。 |
转置和逆 | AD = A' AE = inv(A) | 矩阵A的转置; 矩阵A的逆。 |
特征值和特征向量 | [AF, AG] = eig(A) | 计算矩阵A的特征值和特征向量,其中AF是特征向量,AG是特征值对角矩阵 |
稀疏矩阵 | S = sparse([1 2 3; 4 5 6]) | 创建一个稀疏矩阵 |
矩阵的逻辑操作 | logicalMatrix = (A > 0.5) | &(逻辑与)、|(逻辑或)、~(逻辑非) 创建一个逻辑矩阵,A中大于0.5的元素为true(1)。 |
矩阵分解 | [L, U] = lu(A) [Q, R] = qr(A) [U, S, V] = svd(A) | LU分解:将矩阵分解为下三角矩和上三角矩的乘积; QR分解:将矩阵分解为正交矩阵和上三角矩阵的乘积;奇异值分解(SVD):将矩阵分解为三个矩阵的乘积。 |
矩阵的行列式和秩 | detA = det(A) r = rank(A) | 计算行列式; 计算秩。 |
矩阵的迹和对角线元素 | traceA = trace(A) diagA = diag(A) | 计算迹:矩阵对角线元素的和; 提取对角线元素:创建一个包含矩阵对角线元素的向量。 |
矩阵的范数 | normA = norm(A, 1) normA = norm(A, 'fro') | 1-范数; Frobenius范数。 |
矩阵的旋转和翻转 | R = rot90(A) A_flipud = flipud(A) A_fliplr = fliplr(A) | 逆时针旋转90度; 垂直翻转; 水平翻转。 |
矩阵的元素级操作 | C = A.^2 D = exp(A) E = log(A) | 每个元素平方; 指数运算; 对数运算。 |
矩阵的线性插值 | F = interp1(X, A, Xq, 'linear', extrap) | 在两个矩阵之间进行线性插值。 |
矩阵的查找和排序 | [row, col] = find(A > 0.5) B = sort(A, 2) | row:满足条件的元素的行索引。 col:满足条件的元素的列索引; B为A按列排序,排序维度2。 |
★ 结语 ★
以上就是Matlab矩阵与数组操作的一些基本技巧。掌握这些技巧,你将能够更高效地使用Matlab进行科学计算和数据分析。记得,实践是最好的学习方式,所以赶快打开Matlab,动手试一试这些操作吧!
希望这篇推文能帮助你更好地理解和使用Matlab的矩阵与数组操作,后续会详细介绍该软件各个功能。
我们2025再见!
2
25
瓦斯10点
更多瓦斯小硕分享
请关注公众号瓦斯10点
关注 瓦斯小硕 专栏
作者 | 丁军堡 重庆大学
审核 | 刘晓庆 重庆大学