Fill the array after each loop iteration

110 views (last 30 days)
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

Accepted Answer

Stefan Raab
Stefan Raab on 24 Apr 2016
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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!