请教KroneckerDelta函数的使用。
mathematica吧
全部回复
仅看楼主
level 4
rudykon200 楼主
各位前辈,小白在此请教:
j的取值有1,2,3,4.想要实现KroneckerDelta[j,1],和KroneckerDelta[j,3],这一步怎么处理呢。
\[Xi]j中的j在取1,2,3,4时的函数如代码所示。
\[Xi]1 = ((9*
#1)/(4 \[Pi]) Sin[(\[Pi]*#
2)/(2*
#1)] - #
1/(12 \[Pi])
Sin[(3*\[Pi]*
#2)/(2*#
1)] ) &;
\[Xi]2 = (-((9*#1)/(4 \[Pi])) Cos[(\[Pi]*
#2)/(2*#
1)] - (#1/(12 \[Pi]))
Cos[(3*\[Pi]*
#2)/(2*#
1)] ) &;
\[Xi]3 = (
#1^3/\[Pi]^3 Sin[(\[Pi]*#
2)/(2*
#1)] - #
1^3/(3 \[Pi]^3)
Sin[(3*\[Pi]*
#2)/(2*#
1)] ) &;
\[Xi]4 = (-(
#1^3/\[Pi]^3) Cos[(\[Pi]*#
2)/(2*
#1)] - #
1^3/(3 \[Pi]^3)
Cos[(3*\[Pi]*
#2)/(2*#
1)] ) &;
func\[Xi] = {\[Xi]1[a, 0], \[Xi]2[a, 0], \[Xi]3[a, 0], \[Xi]4[a, 0]}
ffunction1 =
kx0/D0*func\[Xi] -
KroneckerDelta[j, 1]*(2 - \[Upsilon]) ((n \[Pi])/b)^2 +
KroneckerDelta[j, 3]
2020年07月22日 13点07分 1
level 7
Table[ffunction1, {j, 1, 4}]
2020年07月23日 04点07分 2
您好,十分感谢您的回复。用Table后,ffunction1中的每个元素都要计算j=1,2,3,4.我想要实现ffunction1中第一个元素就是j=1,第二个元素就是j=2,第三个元素是j=3,第四个元素是j=4时对用的值。即最终计算的结果还是4个元素,而不是4*4的,这个地方不会实现。
2020年07月23日 06点07分
从您的代码来看,最终想要的就是取第一向量的第一个元素,第二个向量的第二个元素,第三个向量的第三个元素,第四个向量的第四个元素所组成的新的包含四个元素的向量。
2020年07月23日 06点07分
用了Diagonal也可以得到最终的结果。再次感谢您啦[玫瑰]
2020年07月23日 07点07分
level 7
需要funXi 和 j 的列表一一对应?
\[Xi]1 = ((9*
#1)/(4 \[Pi]) Sin[(\[Pi]*#
2)/(2*
#1)] - #
1/(12 \[Pi]) \
Sin[(3*\[Pi]*
#2)/(2*#
1)]) &;
\[Xi]2 = (-((9*#1)/(4 \[Pi])) Cos[(\[Pi]*
#2)/(2*#
1)] - (#1/(12 \
\[Pi])) Cos[(3*\[Pi]*
#2)/(2*#
1)]) &;
\[Xi]3 = (
#1^3/\[Pi]^3 Sin[(\[Pi]*#
2)/(2*
#1)] - #
1^3/(3 \[Pi]^3) \
Sin[(3*\[Pi]*
#2)/(2*#
1)]) &;
\[Xi]4 = (-(
#1^3/\[Pi]^3) Cos[(\[Pi]*#
2)/(2*
#1)] - #
1^3/(3 \[Pi]^3) \
Cos[(3*\[Pi]*
#2)/(2*#
1)]) &;
func\[Xi] = {\[Xi]1[a, 0], \[Xi]2[a, 0], \[Xi]3[a, 0], \[Xi]4[a, 0]}
j = Range[4]
MapThread[
kx0/D0*#1 - KroneckerDelta[#2, 1]*(2 - \[Upsilon]) ((n \[Pi])/b)^2 +
KroneckerDelta[#2, 3] &,
{func\[Xi], j}
]
2020年07月23日 06点07分 4
是的是的,运行了您的代码!完美!十分感谢您的指点[大拇指]
2020年07月23日 08点07分
1