Writing matrix for 2D plane of atoms

1 visualizzazione (ultimi 30 giorni)
Hello all
I have a row of 100 atoms and i am considering nearest neighbour interaction. What that means is that each atom has an interaction with itself (self interaction) of magnitude 2; and each atom interacts with its two nearest neighbour atoms from each side of magnitude 1. This 1D problem is represented in matrix as
2 1 0 0 0 0 ...
-1 2 1 0 0 0 ...
0 -1 2 1 0 0 ...
0 0 -1 2 1 0 ...
.............
.............
Now, my problem is that i dont know how to write this matrix when instead of a 1D problem, i have a 2D plane of atoms with the same nearest neighbour interaction condition. Can someone please help me ???
Thanks in advance.
Sazzad

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 22 Giu 2013
a = [-1 2 1];
n = 100;
m = numel(a)-1;
out = full(spdiags(ones(n,1)*[-1 2 1],-m:m,n,n));

Più risposte (0)

Categorie

Scopri di più su Mathematics and Optimization in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by