Why do i recieve this error?

for i=1:m
for j=2:11
mse=1/m(sum(w_opt(1)+w_opt(j)*X_train(i,j)-y_train(i))^2);
end
end
Array indices must be positive integers or logical values.

1 个评论

w_opt is (11,1) vector, X_train is (333,11) matrix and y_train is (333,1) vector

请先登录,再进行评论。

 采纳的回答

Jan
Jan 2021-3-9
编辑:Jan 2021-3-9
This appears in your code:
mse=1/m(sum(w_opt(1)+w_opt(j)*X_train(i,j)-y_train(i))^2);
% ^^^^^
This treats m as a variable and sum(w_opt(1)+w_opt(j)*X_train(i,j)-y_train(i))^2 as index.
Maybe you mean:
mse = 1 / m * (sum(w_opt(1) + w_opt(j) * X_train(i,j) - y_train(i))^2);

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by