【发布时间】:2016-06-29 23:58:33
【问题描述】:
除了使用for循环(一种更快的vertorized格式)来计算矩阵行或列元素的第n次幂之和之外,还有其他方法吗?
【问题讨论】:
-
发布您的循环。 “第 n 个元素的幂之和”没有多大意义。
除了使用for循环(一种更快的vertorized格式)来计算矩阵行或列元素的第n次幂之和之外,还有其他方法吗?
【问题讨论】:
使用element-wise power operator。
编辑:更正了列的总和(感谢@LuisMendo)。
对列求和:
n = 3; % nth power
res = sum(mat .^ n, 1)
对行求和:
n = 3; % nth power
res = sum(mat .^ n, 2)
【讨论】:
res = sum(mat .^ n, 1),而不是res = sum(mat .^ n)。 mat 可能只有一行
没有具体的命令,但不需要for循环的解决方法如下:
例如如果n=3,即矩阵元素的三次方:
对于按列求和:
a=[1 2;3 4];
m = sum(a.*a.*a,1)
对于逐行求和:
a=[1 2;3 4];
m = sum(a.*a.*a,2)
【讨论】:
.^)。恐怕这个问题和答案对 StackOverflow 没有价值。具体来说,在您的情况下,您为什么不直接使用a.^3 而不是a.*a.*a?对于n 的任何值,它只是a.^n 否?