学习:sum

函数功能
求数组元素的总和
使用方法
B = sum(A)
返回数组A不同维数的总和。
如果A是一个向量,sum(A) 返回所有元素的总和。
如果A是一个矩阵,sum(A) 把A的列作为向量,返回一个包含每一列所有元素的总和的行向量。
如果A是一个多维数组,sum(A) 把没一维看做一个数组,返回一个行向量数组。
B = sum(A,dim)
沿着A的每一维计算总和用指定标量dim,dim是一个从1到N的整数值,其中N是A的维数。dim为1就是计算A的每一列的总和,2计算A的每一行的总和,以此类推。
B = sum(..., 'double')和B = sum(..., dim,'double')
在双精度下(double)执行相加求和,返回double类型的结果,即使A是single数据类型或者integer数据类型。默认的是integer数据类型。
B = sum(..., 'native')和B = sum(..., dim,'native')
在native数据类型下执行相加求和,返回相同类型的结果,默认的是single和double.数据类型。
备注
sum(diag(X)) 是求X的迹。
应用举例 
三阶幻方为:
M = magic(3) 
M = 
     8    1    6
     3    5    7
     4    9    2
因为三阶幻方每一列元素总和是相同的。
sum(M) =
     15    15    15
想求每一行元素的的总和,可以用转置或者用dim参数。
转置:
sum(M') = 
     15    15    15
用dim参数:
sum(M,1)
ans =
    15    15    15
支持非double数据类型
sum函数不仅仅支持double类型数据。
single数据类型:
sum函数可以应用到single数据类型并返回一个single类型的结果。比如:
sum(single([2 5 8]))
ans =
     15
class(ans)
ans =
single
Integer数据类型
sum函数应用到以下Integer数据类型时,MATLAB软件返回一个double数据类型的结果:
       int8 and uint8
      int16 and uint16
      int32 and uint32
例如:
sum(single([2 5 8]));
class(ans)
ans =
single
sum([2 5 8]);
class(ans)
ans =
double
如果你想MATLAB对Integer数据类型的结果是相同的Integer数据类型,可以用:
sum(int8([2 5 8], 'native');
class(ans)
ans =
int8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值