Fill the array after each loop iteration
84 次查看(过去 30 天)
显示 更早的评论
my Problem is that I want the array to be filled each time the loop iterate, for example here, cosTheta is my array, I want after each iteration to add the new value to it as an element. This is what I wrote:
for k=1:10
r(k) = (dot(a,b)/(norm(a)*norm(b)));
end
cosTheta = [r(1) r(2) r(3) r(4) r(5) r(6) r(7) r(8) r(9) r(10)];
But I think this is not a good idea if I want a larger number of iteration.. for example if k will go from 1 to 50, this not an ideal way to do that, can you help me plz
0 个评论
采纳的回答
Stefan Raab
2016-4-24
Hello,
why use the r at all? Try
n_iter = 10;
cosTheta = zeros(1,n_iter); % Memory preallocation
for k=1:n_iter
a = trainZ(k,:);
b = testZ;
cosTheta(k) = (dot(a,b)/(norm(a)*norm(b)));
end
Kind regards, Stefan
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!