学习:sum
来源:互联网 发布:淘宝如何分期买手机 编辑:程序博客网 时间:2024/06/15 20:14
函数功能
求数组元素的总和
使用方法
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
求数组元素的总和
使用方法
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
- 学习:sum
- LeetCode学习_Two Sum
- 【LeetCode学习】【1:Two Sum】
- leetcode学习 1.two sum
- Sum
- sum
- sum
- Sum
- Sum
- Sum
- sum
- Sum
- sum
- Sum
- sum
- Sum
- sum
- Python学习——leetcode(Two Sum)
- Mac功夫:OS X 的300多个技巧和小窍门
- C++ using 使用总结
- Linux
- 好久没来CSDN,重新开张。
- “神经奶爸”贾乃亮庆生 女儿扮酷来捧场
- 学习:sum
- 唉
- 关于vs2012不能创建项目和打开项目的解决办法
- URL、URI、URN区别
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
- Android 小心@override方法中的返回值
- JAVA 多线程和并发基础面试问答
- iOS 异步下载图片
- 常用docker命令,及一些坑