您的位置:首页 > 教育 > 锐评 > 全免费自助建站_新民企业自助建站_外贸网站营销推广_搜索引擎优化专员

全免费自助建站_新民企业自助建站_外贸网站营销推广_搜索引擎优化专员

2025/5/10 3:27:46 来源:https://blog.csdn.net/WwLK123/article/details/146542891  浏览:    关键词:全免费自助建站_新民企业自助建站_外贸网站营销推广_搜索引擎优化专员
全免费自助建站_新民企业自助建站_外贸网站营销推广_搜索引擎优化专员

文章目录

      • 1.4.3 矩阵的拼接重构重排
        • 1.4.3.1 横向拼接
        • 1.4.3.2 纵向拼接
        • 1.4.3.3 矩阵的重构重排
      • 1.4.4 矩阵的运算
        • 1.4.4.1 算数运算
        • 1.4.4.2 矩阵加减
        • 1.4.4.3 矩阵乘法
        • 1.4.4.4 矩阵转置

1.4.3 矩阵的拼接重构重排

image-20250325164644713

1.4.3.1 横向拼接

A和B的行数相同,那么使用[A,B][A B]以及cat(2,A,B)都能将A和B横向拼接成一个大的矩阵。

B = [1:4;2:5;3:6;];
C = ones(3,2);
D = [B,C];
D2 = cat(2,B,C);
% 打印结果
D2 =1     2     3     4     1     12     3     4     5     1     13     4     5     6     1     1
1.4.3.2 纵向拼接

A和B的列数相同,那么使用[A;B]以及cat(1,A,B)都能将A和B以纵向拼接为一个大的矩阵。

% 纵向拼接
B2 = ones(2,4);
% 方式1
D3 = [B;B2];
% 方式2
D4 = cat(1,B,B2)
% 打印结果
D3 =1     2     3     42     3     4     53     4     5     61     1     1     11     1     1     1
1.4.3.3 矩阵的重构重排

(1)reshape函数:更改矩阵的形状,reshape(A,m,n)或者reshape(A,[m,n])

A = randi(10,2,6);
A
B = reshape(A,3,4);
B% 打印结果
A =3    10    10    10     6     31     7     2     8     5     8B =3     7    10     51    10     8     310     2     6     8

(2)sort函数:对向量或者矩阵进行排序,sort(A,dim),在最后面加一个输入参数descend,变成从大到小的降序排列

  • dim=1时,沿着行方向(从上至下)对矩阵的每一列升序排列。
  • dim=2时,沿着列方向(从左至右)对矩阵的每一列升序排列。
A = randi(10,2,6);
A
sort(A,1)
% 输出结果
A =9     7     5     9     4     36    10     1     7    10     7ans =6     7     1     7     4     39    10     5     9    10     7% 按照每一行进行单独排序
sort(A,2)
% 排序结果
ans =2     5     6     7     8     91     2     2     4     4     8% 降序排列
sort(A,2,'descend')
ans =10    10     7     4     4     18     7     3     3     2     1

(3)sortrows函数:基于矩阵的某一列对矩阵进行排序,同一行的元素不会改变。sortrows(score,列),在最后面加一个输入参数descend,变成从大到小的降序排列。

sortrows(A,2,"descend")ans =5     9     1     1    10    103     3    10     6     9     1

1.4.4 矩阵的运算

1.4.4.1 算数运算
函数名函数的作用
sum求和函数
prod求乘积函数
cumsum计算累积和
diff计算差分
mean计算平均值
median计算中位数
mode计算众数
var计算方差
std计算标准差
min求最小值
max求最大值

如下是函数的几个例子:

%% 矩阵运算
clear;
clc;
A = randi(10,3,4);
A
sum(A,1) %参数为1的时候,计算每一列的和
sum(A,2) % 计算每一行的和
sum(A(:))
sum(A,'all')prod(A(:))
prod(A,"all")% 运算结果
A =2     6     9     24     5     5     41    10     9    10ans =7    21    23    16ans =191830ans =67ans =67ans =77760000ans =77760000
1.4.4.2 矩阵加减

(1)矩阵加法(+)

矩阵加法是 对应位置的元素相加,要求两个矩阵的大小相同。

示例:

A = [1 2; 3 4];
B = [5 6; 7 8];
C = A + B  % 逐元素相加

结果:

C =6     810    12

(2)矩阵减法(-)

矩阵减法与加法类似,是对应元素相减,要求两个矩阵大小相同。

示例:

A = [10 20; 30 40];
B = [1 2; 3 4];
C = A - B  % 逐元素相减

结果:

C =9    1827    36

(3)标量与矩阵的加减

如果是一个 标量矩阵 进行加法或减法,则标量会与矩阵的 每个元素 进行运算。

示例:

A = [1 2; 3 4];
C = A + 10  % 每个元素加 10
D = A - 5   % 每个元素减 5

结果:

C =11    1213    14D =-4    -3-2    -1

(4)矩阵与相同列数的行向量

如果一个是矩阵A,另外一个是具有相同列数的行向量B,则把B堆叠成完全相同的两行,然后再和A相加。

示例:

A = 3 5 66 9 4
B = 3 9 6

结果:

ans =6    14    129    18    10

(5)矩阵与相同行数的列向量

如果一个是矩阵A,另外一个是具有相同行数的列向量B,则把B堆叠成完全相同的三列,然后再和A相加。

示例:

A = 3 6 52 6 8
B = 65

结果:

ans =9 12 117 11 13

(6)列向量和行向量相加

如果一个是列向量,另外一个是行向量

示例:

A = 25
B = 1 8 3

结果:

ans =3    10     56    13     8
1.4.4.3 矩阵乘法

MATLAB 提供了 两种 矩阵乘法方式:

  1. 矩阵乘法(\* —— 线性代数中的矩阵乘法(点积)。
  2. 逐元素乘法(.\* —— 对应元素相乘。

(1)矩阵乘法遵循线性代数规则,即:

  • A 的列数 必须等于 B 的行数m×n 矩阵 × n×p 矩阵 → m×p 矩阵)。
  • 计算方式是 行与列的点积

示例:

A = [1 2; 3 4];  % 2×2 矩阵
B = [5 6; 7 8];  % 2×2 矩阵
C = A * B;       % 进行矩阵乘法

计算步骤:

image-20250326221650801

计算结果:

C =19    2243    50

(2)逐元素乘法(.*

逐元素乘法是 对应位置的元素相乘,要求矩阵大小相同。

示例:

A = [1 2; 3 4];
B = [5 6; 7 8];
C = A .* B;  % 逐元素乘法

计算方式:

image-20250326221825973

计算结果:

C =5    1221    32
1.4.4.4 矩阵转置

在 MATLAB 中,矩阵的转置(Transpose)可以使用 '(单引号)transpose() 函数实现。矩阵转置的作用是将行变为列,列变为行。

(1)使用A'进行矩阵转置

最常用的方法是使用 '(单引号),它会执行 共轭转置(conjugate transpose),即:

  • 实数矩阵A' 只是 单纯的转置
  • 复数矩阵A'转置取共轭(虚部变号)。

示例1:实数矩阵转置

A = [1 2 3; 4 5 6]; % 2×3 矩阵
B = A';             % 3×2 矩阵
disp(B);

计算方式:

image-20250326222131313

转置后:

1     4
2     5
3     6

(2)使用 transpose(A)

MATLAB 也提供了 transpose(A) 函数,它 仅执行转置,不改变复数矩阵的虚部符号。

示例:

A = [1 2 3; 4 5 6];
B = transpose(A);
disp(B);

结果:

1     4
2     5
3     6

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com