How can I use Kronecker delta for 3d matrix

9 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by