Я знаю, что этот вопрос задавался несколько раз, но этот ответ не работает для меня. Я хочу вычислить суммирование следующим образом
* * 1006
, где h(x) = X*theta
, theta
- матрица n
x1, а X
- матрица m
x n
. Я пытался написать так:
f = @(z)(sum(X(z,:)*theta) - y(z))^2;
v = sum(f([1:m])); % m is length of y
Но это дало мне эту ошибку:
error: for x^A, A must be a square matrix. Use .^ for elementwise power.
error: called from
computeCost>@<anonymous> at line 26 column 35
computeCost at line 27 column 4
ex1 at line 63 column 3
Мой эквивалент для версии цикла выглядит так:
v = 0;
for i = 1:m
v = v + (sum(X(i,:)*theta) - y(i))^2;
end
Пожалуйста, дайте мне знать, как я могу векторизовать этот цикл.