Writing matrix for 2D plane of atoms

1 回表示 (過去 30 日間)
SAZZAD HOSSAIN
SAZZAD HOSSAIN 2013 年 6 月 22 日
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 Center および File ExchangeOperating on Diagonal Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by