windows 的 gnuplot 中的 Kronecker delta
Kronecker delta in gnuplot for windows
有谁知道 gnuplot(对于 windows)中是否存在重现 Kronecker delta 的数学工件?例如(取自 fortran):如果 i=j,0^(i-j) 给出 1,否则给出 0,因为 0^(除零以外的任何数字)=0 但 0^0= 1 在 fortran 中;不幸的是,gnuplot 对所有情况都给出 0,因此我需要以不同的方式进行搜索。我试过 (1.e-15)^0 应该给 1(而 1.e-15^(任何其他数字实际上是 0)),但后来我收到消息 'non-integer passed to boolean operator' .与 0^(1.e-15) 类似。有什么想法吗?
如果i
和j
是整数,那么(i==j)
应该就足够了。如果您需要强制转换为实际值,可以将其包装在 real(i==j)
中以给出 0.0 或 1.0。
@Ethans 的回答是直截了当的方式。
但为什么你的尝试不起作用?
0^(i-j)
不起作用,因为 ^
是“按位异或”运算符。求幂是**
,我取绝对值:
0**abs(i-j)
见help operators binary
。
有谁知道 gnuplot(对于 windows)中是否存在重现 Kronecker delta 的数学工件?例如(取自 fortran):如果 i=j,0^(i-j) 给出 1,否则给出 0,因为 0^(除零以外的任何数字)=0 但 0^0= 1 在 fortran 中;不幸的是,gnuplot 对所有情况都给出 0,因此我需要以不同的方式进行搜索。我试过 (1.e-15)^0 应该给 1(而 1.e-15^(任何其他数字实际上是 0)),但后来我收到消息 'non-integer passed to boolean operator' .与 0^(1.e-15) 类似。有什么想法吗?
如果i
和j
是整数,那么(i==j)
应该就足够了。如果您需要强制转换为实际值,可以将其包装在 real(i==j)
中以给出 0.0 或 1.0。
@Ethans 的回答是直截了当的方式。
但为什么你的尝试不起作用?
0^(i-j)
不起作用,因为 ^
是“按位异或”运算符。求幂是**
,我取绝对值:
0**abs(i-j)
见help operators binary
。