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


相关文章
|
4月前
|
存储 JavaScript Java
基于springboot的大学公文收发管理系统
本文介绍公文收发系统的研究背景与意义,分析其在数字化阅读趋势下的必要性。系统采用Vue、Java、Spring Boot与MySQL技术,实现高效、便捷的公文管理与在线阅读,提升用户体验与信息处理效率。
|
消息中间件 弹性计算 分布式计算
阿里云服务器共享型和独享型有什么区别?性能相差很大吗?
阿里云服务器共享型和独享型有什么区别?这是首次购买云服务器的朋友都很想知道的问题。阿里云服务器共享型和独享型是阿里云服务器的不同产品规格,针对的人群有所不一样,云服务器性能上也有所不同。希望大家看了本文之后能够了解阿里云服务器共享型和独享型的性能区别,从而选择到更合适自己的云服务器。
1389 1
阿里云服务器共享型和独享型有什么区别?性能相差很大吗?
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
366 5
|
12月前
|
机器学习/深度学习 自然语言处理 文字识别
方案测评 | 多模态数据信息提取极速体验
多模态数据信息提取方案基于先进AI技术,能高效处理文本、图像、音频和视频等不同格式文件,提取有价值信息。该方案通过深度学习、自然语言处理等技术,实现结构化信息挖掘与分析,支持批处理模式,显著提高大规模数据处理效率,降低业务成本。用户可通过阿里云平台一键部署,无需数据搬运,确保高效安全的数据处理体验。此方案在性能和易用性上表现出色,具有广泛的应用价值和市场前景。
|
编解码 自然语言处理 数据可视化
阿里云百炼产品月刊【2024年10月】
阿里云百炼产品月刊【2024年10月】上线,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。本月推出开源图片解析模型qwen2-vl-7b-instruct和qwen2-vl-2b-instruct,提升图片理解能力;主流模型qwen-max、qwen-turbo和qwen-plus升级至快照0919版本,支持8千字长文本输出;新增应用观测功能,实时查看调用次数和应用时延。此外,还发布了《阿里云百炼产品动态》电子书以及阿里云百炼产品最新规划电子刊,汇集最新产品动态和实践案例。
1105 0
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
JavaScript 前端开发 测试技术
拥抱开源:NestJS 在现代后端开发中的应用
【10月更文挑战第21天】NestJS 是一个基于 TypeScript 的现代 Node.js 框架,结合了 OOP、FP 和 FRP 元素,支持模块化设计、控制器、服务和守卫等核心概念,具备强大的依赖注入系统。本文探讨了 NestJS 的核心特性、应用场景及其在现代后端开发中的价值,包括构建 RESTful API、微服务、单页应用后端和企业级应用。通过最佳实践和社区支持,NestJS 可显著提高开发效率和代码质量。
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
2103 1