获取矩阵总和的正确语法 - Octave

Correct Syntax for getting the sum of a matrix - Octave

我正在学习 Andrew Ng 关于机器学习的 class,在为神经网络实施正则化成本函数时,我们必须计算:

简单地说,忽略偏差单位(第一列),我们必须得到矩阵所有元素的平方和。

这是我尝试编写的代码:

reg_theta1 = Theta1(:,2:end);
reg_theta2 = Theta2(:,2:end);
sum_theta1 = sum(sum(reg_theta1.^2 ,2));
sum_theta2 = sum(sum(reg_theta2.^2 ,2));

J = J + (lambda/2*m)*(sum_theta1 + sum_theta2);

然而,我在网上找到了类似的答案:

penalty = (lambda/(2*m))*(sum(sum(Theta1(:, 2:end).^2, 2)) + sum(sum(Theta2(:,2:end).^2, 2)));
J = J + penalty;

return 结果正确。 逻辑完全一样,所以我的语法一定有错误,但我找不到它。

我做错了什么?

(lambda/2*m) = (lambda/2)*m(lambda/(2*m))