Writing matrix for 2D plane of atoms

1 次查看(过去 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 中查找有关 Mathematics and Optimization 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by