matlab中sum
来源:https://ww2.mathworks.cn/help/matlab/ref/sum.html?searchHighlight=sum&s_tid=doc_srchtitle#btv6ok6-1-dim
sum
数组元素总和
语法
说明
S = sum( 返回 A 沿大小不等于 1 的第一个数组维度的元素之和。A)
如果
A是向量,则sum(A)返回元素之和。如果
A是矩阵,则sum(A)将返回包含每列总和的行向量。如果
A是多维数组,则sum(A)沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度会变为1,而所有其他维度的大小保持不变。
示例
向量元素的总和
矩阵列总和
创建一个矩阵并计算每列中元素的总和。
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
S = sum(A)
S = 1×3
11 6 11
矩阵行总和
创建一个矩阵并计算每行中元素的总和。
A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3
1 3 2
4 2 5
6 1 4
S = sum(A,2)
S = 3×1
6
11
11
数组切片总和
使用向量维度参数来操作数组的特定切片。
创建所有元素为 1 的三维数组。
A = ones(4,3,2);
要对 A 的每个页面中的所有元素求和,请使用向量维度参数指定要求和的维度(行和列)。由于两个页面均为 4×3 矩阵,因此每页的总和为 12。
S1 = sum(A,[1 2])
S1 =
S1(:,:,1) = 12 S1(:,:,2) = 12
如果沿第一个维度对 A 进行切片,则可以对得到的 4 个页面的元素求和,每个页面为 3×2 矩阵。
S2 = sum(A,[2 3])
S2 = 4×1
6
6
6
6
沿第二个维度切片,每个页面总和超过 4×2 矩阵。
S3 = sum(A,[1 3])
S3 = 1×3
8 8 8
从 R2018b 开始,要对数组的所有维度求和,可以在向量维度参数中指定每个维度,或使用 'all' 选项。
S4 = sum(A,[1 2 3])
S4 = 24
Sall = sum(A,'all')
Sall = 24
三维数组的总和
创建一个由 1 值组成的 4×2×3 数组,并计算沿第三个维度的总和。
A = ones(4,2,3);
S = sum(A,3)
S = 4×2
3 3
3 3
3 3
3 3
32 位整数之和
创建一个由 32 位整数组成的向量,并通过将输出类型指定为 native 来计算其元素的 int32 总和。
A = int32(1:10);
S = sum(A,'native')
S = int32
55
总和,不包括 NaN
创建一个向量并计算其总和,不包括 NaN 值。
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
S = sum(A,'omitnan')
S = 3.3250
如果您不指定 'omitnan',则 sum(A) 会返回 NaN。
输入参数
A - 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
如果
A是标量,则sum(A)返回A。如果
A是 0×0 空矩阵,则sum(A)返回0。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration
复数支持: 是
dim - 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
维度 dim 表示长度减至 1 的维度。size(S,dim) 为 1,而所有其他维度的大小保持不变。
以一个二维输入数组 A 为例:
sum(A,1)对A的列中的连续元素进行求和并返回一个包含每列之和的行向量。
sum(A,2)对A的行中的连续元素进行求和并返回一个包含每行之和的列向量。
当 dim 大于 ndims(A) 或者 size(A,dim) 为 1 时,sum 返回 A。
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
vecdim - 维度向量
正整数向量
维度向量,指定为正整数向量。每个元素代表输入数组的一个维度。指定的操作维度的输出长度为 1,而其他保持不变。
以 2×3×3 输入数组 A 为例。然后 sum(A,[1 2]) 返回 1×1×3 数组,其元素是 A 的每个页面的总和。

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
outtype - 输出数据类型
'default' (默认) | 'double' | 'native'
输出数据类型,指定为 'default'、'double' 或 'native'。这些选项还指定执行运算采用的数据类型。
outtype |
输出数据类型 |
|---|---|
'default' |
double,但当输入数据类型为 single 或 duration 时,输出类型则为 'native' |
'double' |
double,但当数据类型为 duration 时不支持 'double' 类型 |
'native' |
与输入相同的数据类型,但当输入数据类型为 char 时不支持 'native' |
数据类型: char
nanflag - NaN 条件
‘includenan’ (默认) | ‘omitnan’
NaN 条件,指定为下列值之一:
'includenan'- 计算总和时包括NaN值,生成NaN。'omitnan'- 忽略输入中的所有NaN值。
数据类型: char
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB Coder 生成 C 代码和 C++ 代码。
用法说明和限制:
如果指定
dim,则它必须为常量。outtype和nanflag选项必须为常量字符向量。请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
GPU 数组
通过使用 Parallel Computing Toolbox 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
未定义
sum运算中的加法顺序。因此,对 GPU 数组的sum运算和对相应 MATLAB 数值数组的sum运算所返回的答案可能不完全相同。当A是有符号整数类型且其乘积在本机累积时,差异可能相当大。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox 在群集的组合内存中对大型数组进行分区。
用法说明和限制:
未定义
sum运算中的加法顺序。因此,对分布式数组执行sum运算和对相应 MATLAB 数值数组执行sum运算所返回的答案可能不完全相同。当A是有符号整数类型且其乘积在本机累积时,差异可能相当大。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
另请参阅
matlab中sum的更多相关文章
- Matlab中rand('state',sum(clock))解析
一.问题来源 来自于一份PSO代码,PSO中需要初始化粒子位置和速度. 二.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受.但是,如果我们知道伪随机数的初始 ...
- MATLAB 中NORM运用
格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector ...
- MATLAB中白噪声的WGN和AWGN函数的使用
MATLAB中白噪声的WGN和AWGN函数的使用如下: MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一 信号 ...
- Matlab中如何将(自定义)函数作为参数传递给另一个函数
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- Matlab中的数据类型
Matlab中有15种基本数据类型,主要是整型.浮点.逻辑.字符.日期和时间.结构数组.单元格数组以及函数句柄等. 1.整型:(int8:uint8:int16:uint16:int3 ...
- [转] Matlab中给信号加高斯白噪声的方法
MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = ...
- 关于MATLAB中的tic toc的问题
关于MATLAB中的tic toc的问题 其一) MATLAB实际单位时间计时函数的具体应用,在编写程序时,经常需要获知代码的执行实际时间,这就需要在程序中用到计时函数,matlab中提供了以下三种方 ...
- matlab中norm与svd函数用法
格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释: NORM Matrix or vector ...
- MATLAB中“fitgmdist”的用法及其GMM聚类算法
MATLAB中“fitgmdist”的用法及其GMM聚类算法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MA ...
随机推荐
- 【学习中】Unity<中级篇> Schedule
章节 内容 签到 Unity3D 实战技术第二版视频教程(中级篇) 1.游戏引擎发展史 2.Unity发展史 3.3D图形学与必要组件 5月19日 4.核心类_GameObject类 5月19日 5. ...
- 绝世好题(线性dp)
给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). Input 输入文件共2行. 第一行包括一个整数n. 第二行包括n个 ...
- 08_线程间通信 ITC
1.线程间的通信方式 1.共享全局变量 2.线程队列(queue) 3.信号量(Semaphore) 2.共享全局变量进行通信 from threading import Thread import ...
- Oracle12C创建scott账户
Oracle12C创建scott账户 具体步骤: 打开SqlPlus 输入用户名和密码用户名:sys口令:sys as sysdba 创建c##scott用户CREATE USER c##scott ...
- sublime3 激活
起因 这段时间sublime一直抽风,每次打开都提示让我更新. 身为强迫症的我当然不能忍! 方法 关闭自动更新 点击菜单栏"Preferences"=> "Sett ...
- Windows安装tensorflow教程 GPU版
PS:这是GPU版本,CPU版会用笔记本环境另写一篇博客. 前置准备 查看GPU型号 电脑桌面->右键我的电脑->选择管理->点击设备管理器 如下图: 如果不是英伟达显卡,那么不用 ...
- myeclipse操作hdfs
myeclipse与hadoop集成我就不说了,还是简单说两句吧! 1.hadoop搭建完毕且可以正常访问(Linux搭建的集群环境 主机是windos) 2.在主机上将hadoop包解压 3.通过m ...
- C# 读取 ttf字体文件里的 Unicode
因为爬虫要解析 򈃌这种字体编码的值,下载到一个ttf文件,用百度字体编辑器 打开,可以看到每个字符对应的Unicode (数字下方 $23.$2A...这些), 我需要拿到这些映 ...
- odoo提示你没有查看此类文档的权限
问题: odoo出现提示信息:"抱歉, 你没有访问此类型文档的权限 '未知' (_unknown). 没有为此操作指定权限组 - (操作: read, 用户: 2)" 出错原因: ...
- Hadoop入门学习整理(一)
今天是2020年4月8日,是一个平凡而又特殊的日子,武汉在经历了77天的封城之后,于今日0点正式解封.从1月14日放寒假离开武汉,到今天已近3个月,学校的花开了又谢了.随着疫情好转,春回大地,万物复苏 ...