how to use circshift in matlab
2 次查看(过去 30 天)
显示 更早的评论
I have a array of indeces, so they must be positive, but some of them are negative, for instance for a array of m elements, I want to say if i=-1 put i=M-1, and if i=-2 put it M-2, how can I use circshift?
3 个评论
采纳的回答
Matt J
2012-12-21
编辑:Matt J
2012-12-21
What you're trying to do does not seem to require CIRCSHIFT at all, but merely
mod(i,M)
1 个评论
Roger Stafford
2012-12-22
If positive integers are desired which must always fall in the range 1<=k<=M, then a modification of the 'mod' function would seem to be called for. To "add" p to k, do this:
k_plus_p = mod(k+p-1,M)+1
This gives the alteration to an index k of an element of an array which occurs with a circular shift of amount p.
Roger Stafford
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Performance and Memory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!