How do I make a vector into a loop?

조회 수: 1(최근 30일)
Laura
Laura 2013년 2월 6일
for example I need to make the last element (N) in my vector such that (N+1) will correspond to the first element in the vector?
  댓글 수: 1
Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 6일
Can you give a short example: if x=[1 2 3 4], what should be the result?

댓글을 달려면 로그인하십시오.

채택된 답변

Dan K
Dan K 2013년 2월 6일
편집: Dan K 2013년 2월 6일
I think I understand... Are you saying that if you have a five element vector A(1:5), then you want A(6) to actually reference A(1)?
One way I can see to do this is to create a custom index function as an anonymous function. This is a way of doing it for reading only.
>> A = 1:5
A =
1 2 3 4 5
>> B = @(A,ind)A(mod(ind,length(A)))
B =
@(A,ind)A(mod(ind,length(A)))
>> B(A,2)
ans =
2
>> B(A,7)
ans =
2
>> B(A,8)
ans =
3
Here's a quick way of doing it for writing:
>> A = 1:5;
>> realind = @(x)mod(x,length(A));
>> A(realind(27))
ans =
2
>> A(realind(27)) = 5
A =
1 5 3 4 5
>>
  댓글 수: 2
Laura
Laura 2013년 2월 7일
Thanks this is what i meant and ive managed to do it now. Thanks again.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by