how can i vectorize this loop?
Show older comments
% x is a vector given in main program
function y = userfunction2(x,k)
x=y;
for i=i:k
y=userfunction(y);
end
5 Comments
Akira Agata
on 12 Nov 2017
I don't think this function works.
What is the purpose of the second line ('x=y;')? Why input variable x is replaced by y? What is y??
What is the userfunction(y) in the third line?
William Brannon
on 12 Nov 2017
Edited: Walter Roberson
on 12 Nov 2017
William Brannon
on 12 Nov 2017
William Brannon
on 12 Nov 2017
William Brannon
on 12 Nov 2017
Accepted Answer
More Answers (1)
Akira Agata
on 13 Nov 2017
Seems that you would like to do circshift ?
Your 'y = ShiftLeft(x)' seems equivalent to 'y = circshift(x,1)', like:
x = 1:10;
y = circshift(x,1);
Then, y becomes
>> y
ans =
10 1 2 3 4 5 6 7 8 9
If you want to shift k times, you should simply do 'y = circshift(x,k)'. Please see more detail on circshift documentation page .
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!