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

 Akzeptierte Antwort

Adam
Adam am 14 Dez. 2016

0 Stimmen

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

2 Kommentare

Manuel Bartoli
Manuel Bartoli am 14 Dez. 2016
Bearbeitet: Manuel Bartoli am 15 Dez. 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 am 14 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by