-3

是什么(Theta2(:, 2:end).^2, 2)意思?

p = sum(sum(Theta1(:, 2:end).^2, 2))+sum(sum(Theta2(:, 2:end).^2, 2)); 
4

2 回答 2

0

假设我们有一个大小为 (3,3) 的矩阵 theta2,我们想要计算您给出的上述表达式,即 sum(sum(Theta2(:, 2:end).^2, 2))。首先让我们打破表达式:

  1. theta2(:,2:end).^2 --> 选择所有行(显示为 ':' 而不是任何行号)但选择大于等于 2 的列并对每个项进行平方。

2.sum(theta2(:,2:end).^2,2) --> 将平方列相加。

3.sum(sum(theta2(:,2:end).^2,2)) --> 现在,将第二步获得的总和得出的总和相加。

于 2019-01-09T04:15:11.823 回答
0

让我们从最里面的括号开始。首先,Theta1(:, 2:end).^2维护Theta1除第一个之外的所有列,然后将其平方。用 表示结果mem1。然后,sum(mem1,2)计算列总和,其输出是所有列的总和,mem1因此是列本身。(sum(mem1,1)sum(mem1)计算行总和)。然后sum(sum(mem1,2))计算元素的总和sum(mem1,2),最终得出Theta1平方的所有元素的总和。对于Theta2.

PS你可以简单地使用p = sum(sum(Theta1(:, 2:end).^2+Theta2(:, 2:end).^2));,因为结果是一样的

于 2019-01-08T18:03:31.750 回答