Periodic indexing of a matrix

6 vues (au cours des 30 derniers jours)
andrea
andrea le 1 Mar 2020
Commenté : Alexander le 27 Fév 2024
I need some help, i have a matrix rapresenting points on a grid and when given a element i would like to find the indices of its nearest neighbors keeping in mind that i have periodic boundary conditions, so that if i have the element A(1,1) its nearest neighbors are
  • A(1,N)
  • A(2,1)
  • A(1,2)
  • A(N, 1)
Where A is my matrix and N is the dimension, and i need a code which will find the indices of n.n of a given element. Thanks in advance
  4 commentaires
andrea
andrea le 1 Mar 2020
So what I'm doing is an ising model, my matrix is a matrix of 1 and -1 randomly chosen. I choose a random element of my matrix then I need to choose another element among the nearest neighbors randomly and i want its index.
Guillaume
Guillaume le 1 Mar 2020
I don't know what's an ising model.
"and i want its index."
What for?

Connectez-vous pour commenter.

Réponse acceptée

David Goodmanson
David Goodmanson le 1 Mar 2020
Modifié(e) : David Goodmanson le 1 Mar 2020
Hi Andrea,
for N points, index j, in 1 dimension,
fnext largest index = mod(j,N)+1
next smallest index = mod(j-2,N)+1
then just include the non-changing index for 2 dimensions.
As mentioned by Guillaume, it might be convenient to have entire matrices of new indices. For example, all the indices for the next right neighbor is
indright = (mod(1:N)+1,1:N)
and so forth.
  1 commentaire
Alexander
Alexander le 27 Fév 2024
This worked like a charm! Though I believe it should be:
indright = (mod(1:N,N)+1,1:N)
so that circularly shifting a vector's components by one index should look something like this:
x = [2 4 5]
N=length(x)
x_shift = x(mod(1:N,N)+1)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by