Hi, I'm a beginner and I have tried to find the solution on internet with no results
Starting from a vector=[1;2;...;x] and a for loop n=1:x,
for each loop i want to read the elements in the vector in position "n-1", "n", "n+1" at same time.
The problem is for n=1 i need to read the values in position "x" "1" "2" and for n=x i need to read the values in position "x-1" "x" "1". Now i'm working in the for loop using 3 "if" to manage the operations the 3 cases (n=1, n=x, n=all the rest), or creating a new vector =[x;1;2 ...;x;1]
Is there a better solution? Thanks

 Réponse acceptée

Adam
Adam le 14 Déc 2016

0 votes

vector = [vector(end); vector; vector(1)];
for n = 2:x+1
...
end
would work.

2 commentaires

Manuel Bartoli
Manuel Bartoli le 14 Déc 2016
Modifié(e) : Manuel Bartoli le 15 Déc 2016
The loop should be n=2:x-1
By the way I was thinking at something more...
for example
vector=[1;2;...;10]
for n=1:15
...n = 15 read index n and give me 5
...n = 1 read index n-3 and give me 8
I'm thinking for a general solution Thanks
Adam
Adam le 14 Déc 2016
The loop runs to x+1 because the vector is now 2 elements bigger than it was - i.e. a size of x+2.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by