第3章 数组与矩阵——3.3 矩阵元素的运算(2)

简介: 第3章 数组与矩阵——3.3 矩阵元素的运算(2)

3.3  矩阵元素的运算(2)


3.3.6  矩阵元素的排序


MATLAB中函数sort()的作用是按照升序排序,排序后的矩阵和原矩阵的维数相同。其调用格式如下。

● B=sort(A):该函数对矩阵A进行升序排序。A可为矩阵或向量。

● B=sort(A,dim):该函数对矩阵A进行升序排序,并将结果返回在给定的维数dim上按照升序排序。当dim=1时,按照列进行排序;当dim=2时,按照行进行排序。

● B=sort(...,mode):该函数对矩阵A进行排序,mode可指定排序的方式。ascend指定按升序排序,为默认值;descend指定按降序排序。


3-31:矩阵元素的排序示例。

在命令行窗口中依次输入:

clear all
A = [1 3 0;3 1 0;9 2 4]
B = sort(A)              % 矩阵中元素按照列进行升序排列
C = sort(A,2)            % 矩阵中元素按照行进行升序排列
D = sort(A, 'descend')       % 矩阵中元素按照列进行升序排列
E = sort(A,2, 'descend')     % 矩阵中元素按照行进行升序排列
BCDE = [B C;D E]

输出结果:

A =
     1     3     0
     3     1     0
     9     2     4
B =
     1     1     0
     3     2     0
     9     3     4
C =
     0     1     3
     0     1     3
     2     4     9
D =
     9     3     4
     3     2     0
     1     1     0
E =
     3     1     0
     3     1     0
     9     4     2
BCDE =
     1     1     0     0     1     3
     3     2     0     0     1     3
     9     3     4     2     4     9
     9     3     4     3     1     0
     3     2     0     3     1     0
     1     1     0     9     4     2


3-32:对向量进行排序示例。

在命令行窗口中依次输入:

A = [78 23 10 100 45 5 6]
sort(A)

输出结果:

A =
    78    23    10   100    45     5     6
ans =
     5     6    10    23    45    78   100


3.3.7  矩阵元素的求和


MATLAB中函数sum()cumsum()的作用是对矩阵的元素求和。其调用格式如下。

● B=sum(A):该函数对矩阵A的元素求和,返回由矩阵A各列元素的和组成的向量。

● B=sum(A,dim):该函数返回在给定的维数dim上元素的和。当dim=1时,计算矩阵A各列元素的和;当dim=2时,计算矩阵A各行元素的和。

● B=cumsum(A)

● B=cumsum(A,dim)

函数cumsum()的调用格式与sum()类似,不同的是其返回值为矩阵。下面通过示例查看两个函数的不同之处。


3-33:矩阵元素的求和示例。

在命令行窗口中依次输入:

clear all
A = [1 3 0;3 1 0;9 2 4]
B = sum(A)           % 矩阵中元素按照列进行求和
C = sum(A,2)             % 矩阵中元素按照行进行求和
D = cumsum(A)         % 矩阵中各列元素的和
E = cumsum(A,2)          % 矩阵中各行元素的和
F = sum(sum(A))          % 矩阵中所有元素的和

输出结果:

A =
     1     3     0
     3     1     0
     9     2     4
B =
    13     6     4
C =
     4
     4
    15
D =
     1     3     0
     4     4     0
    13     6     4
E =
     1     4     4
     3     4     4
     9    11    15
F =
    23

提示:使用sum(sum())可求出矩阵所有元素的和。


3.3.8  矩阵元素的求积


MATLAB中函数prod()cumprod()的作用是对矩阵的元素求积。其调用格式如下。

● B=prod(A):该函数对矩阵A的元素求积,返回由矩阵A各列元素的积组成的向量。

● B=prod(A,dim):该函数返回在给定的维数dim上元素的积。当dim=1时,计算矩阵A各列元素的积;当dim=2时,计算矩阵A各行元素的积。

● B=cumprod(A)

● B=cumprod(A,dim)

函数cumprod()的调用格式与prod()类似,不同的是其返回值为矩阵。读者可以通过下面的示例查看两者的不同之处。


3-34:矩阵元素的求积示例。

在命令行窗口中依次输入:

clear all
A = magic(3)
B = prod(A)              % 矩阵各列元素的积
C = prod(A,2)            % 矩阵各行元素的积
D = cumprod(A)        % 矩阵各列元素的积
E = cumprod(A,2)         % 矩阵各行元素的积

输出结果:

A =
     8     1     6
     3     5     7
     4     9     2
B =
    96    45    84
C =
    48
   105
    72
D =
     8     1     6
    24     5    42
    96    45    84
E =
     8     8    48
     3    15   105
     4    36    72


3.3.9  矩阵元素的差分


MATLAB中函数diff()的作用是计算矩阵元素的差分。其调用格式如下。

● Y=diff(X):计算矩阵各列元素的差分。

● Y=diff(X,n):计算矩阵各列元素的n阶差分。

● Y=diff(X,n,dim):计算矩阵在给定的维数dim上元素的n阶差分。当dim=1时,计算矩阵各列元素的差分;当dim=2时,计算矩阵各行元素的差分。


3-35:计算矩阵元素的差分示例。

在命令行窗口中依次输入:

clear all
A = magic(3)
B = diff(A)              % 矩阵各列元素的差分
C = diff(A,2)            % 矩阵各列元素的2阶差分
D = diff(A,1,1)          % 矩阵各列元素的差分
E = diff(A,1,2)              % 矩阵各行元素的差分

输出结果:

A =
     8     1     6
     3     5     7
     4     9     2
B =
    -5     4     1
     1     4    -5
C =
     6     0    -6
D =
    -5     4     1
     1     4    -5
E =
    -7     5
     2     2
     5    -7


提示:当参数n ≥ size(x,dim)时,函数的返回值是空矩阵。


相关文章
|
5天前
|
索引
238.除自身以外数组的乘积
238.除自身以外数组的乘积
7 0
|
8月前
|
存储
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
|
8月前
|
存储
第3章 数组与矩阵——3.1 数组运算(1)
第3章 数组与矩阵——3.1 数组运算(1)
|
8月前
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(2)
|
8月前
|
存储 NoSQL
第3章 数组与矩阵——3.5 稀疏矩阵
第3章 数组与矩阵——3.5 稀疏矩阵
|
8月前
|
机器学习/深度学习 存储 人工智能
第3章 数组与矩阵——3.2 矩阵操作
第3章 数组与矩阵——3.2 矩阵操作
|
8月前
|
机器学习/深度学习 资源调度 算法
第3章 数组与矩阵——3.4 矩阵运算(2)
第3章 数组与矩阵——3.4 矩阵运算(2)
|
8月前
|
机器学习/深度学习 前端开发 rax
第3章 数组与矩阵——3.4 矩阵运算(1)
第3章 数组与矩阵——3.4 矩阵运算(1)
|
9月前
除自身以外数组的乘积
除自身以外数组的乘积
30 0
|
10月前
|
机器学习/深度学习 C语言 C++
C语言计算N*N矩阵的转置、平均值、对角线元素之和、周边元素之和
C语言计算N*N矩阵的转置、平均值、对角线元素之和、周边元素之和
155 0