暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

软件开发架构 2023-04-30
286


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)时,函数的返回值是空矩阵。


如果大家需要这个文档,可以在我的公众号(软件开发架构)中回复20230430,免费获取。



文章转载自软件开发架构,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论