matlab中sum函数的用法

在一段求最小误差时有这样一段 B = sum(sum(abs(x - y)));不知其加两个sum连起来的目的,是为了更精确吗?小弟刚学Matlab不久~忘知道的大侠解答下,感激不尽!
看来我发文太快了点~~刚刚我就想到了呵呵~有知情的大侠也说说~10分奉送
我还想问下执行b = find(a == 1) 后b的具体是什么;和[b1,b2] = find(a == 1)有啥区别,我知道后者返回的是满足条件的矩阵的行坐标和列坐标

答:两个sum连起来可以是答案更精准,以下是用法:

a=sum(x);%列求和

a=sum(x,2);%行求和

a=sum(x(:));%矩阵求和

假定x为一个矩阵:

sum(x)以矩阵x的每一列为对象,对一列内的数字求和。

sum(x,2)以矩阵x的每一行为对象,对一行内的数字求和。

如下图

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
a=sum(x);%列求和
a=sum(x,2);%行求和
a=sum(x(:));%矩阵求和
假定x为一个矩阵:
sum(x)以矩阵x的每一列为对象,对一列内的数字求和。
sum(x,2)以矩阵x的每一行为对象,对一行内的数字求和。
第2个回答  推荐于2017-09-15
其实sum这样用并不是很规范,按照某人的说法“要是10维数组,还要写10个sum不成”。其实可以这样写的
B = sum(abs(x(:) - y(:)));

如果你明白上面那句,这个b = find(a == 1)也就很简单了,这种情况把a当做一个一维数组来看,其实就相当于b = find(a(:) == 1)本回答被提问者采纳
第3个回答  2019-12-21
这个函数的用法就是他说的就是单元格的所有单元格内的那个数字的和值。一个求和的公式。
第4个回答  2020-04-29

2501matlab基础算法源码云课堂第25章matlab中sum函数的用法

相似回答