How can I use Kronecker delta for 3d matrix

10 ビュー (過去 30 日間)
MD MAHABUBUR ROHOMAN
MD MAHABUBUR ROHOMAN 2022 年 10 月 16 日
回答済み: Vinayak Choyyan 2022 年 10 月 19 日
I have a 10x10x10 = s(i,j,l) matrix. Lets say i,j,l rpresent the indices. How would I implement the Kronecker delta for the 3D case like the below 2D case? n=10
2D: delta(sij- s(pbc(i+1,n),j). The idea is if s_i = s_j then delta will give us 1 else 0.
How would I get like that in 3D?
  1 件のコメント
Torsten
Torsten 2022 年 10 月 16 日
delta(sij- s(pbc(i+1,n),j)
Not clear what this expression (with unbalanced parenthesis) wants to tell us.

サインインしてコメントする。

回答 (1 件)

Vinayak Choyyan
Vinayak Choyyan 2022 年 10 月 19 日
Hi,
As per my understanding, you would like to create a 10x10x10 matrix with 0 in all locations except when indices i=j=k.
Please try the following code:
a=zeros(10,10,10);
for i = 1:10
a(i,i,i)=1;
end
To know more about zeros function check out this link
and to know more about for loop in MATLAB please check out this link

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by