Matlab矩阵与数组操作全攻略

文摘   2024-12-27 22:00   重庆  

Matlab

矩阵与数组操作全攻略

前言

大家好,今天我们将介绍Matlab的主要功能以及深入探讨Matlab中核心功能之一的矩阵与数组操作
Matlab的强大之处在于其对矩阵和数组的高效处理能力,是构建和实现各种数学和工程计算的基础,这使得它成为工程和科研领域的首选工具。本文将详细介绍Matlab中矩阵与数组常见操作的各个方面,见下面汇总攻略表,帮助你提高编程效率和数据处理能力。

Matlab介绍

    MATLAB是一种高级的编程语言和交互式计算环境,主要用于技术计算。以下是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点

关注 瓦斯小硕 专栏

作者 | 丁军堡        重庆大学

审核 | 刘晓庆        重庆大学

瓦斯10点
煤矿瓦斯可防可治。分享新进展,吸引新思路,探索新方向,开拓新局面。
 最新文章