Writing matrix for 2D plane of atoms

3 次查看(过去 30 天)
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

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by