为了理解差值过程的逻辑,我将课上提供的程序修改为4*4网格,1个颗粒的体系,然后将颗粒信息输出,但是依旧感觉理解不清楚这里的差值逻辑,请大家指点。
从下面的输出中可以看到,颗粒的位置为xp: [1.016616, 2.518644]
,这个坐标是是x[p] * inv_dx
计算得到,相当于相对于网格的无量纲坐标,大概位置是下图红点处。base
坐标是base: [0, 2]
,我理解为从base
位置处,往上遍历9个网格,去计算这些网格的权值。
具体计算的时候,这里的代码我理解不太清楚,我能猜到的是,对于w
,其中有三个元素,如果将fx
的横坐标带进去,第一个元素应该是颗粒和第一列网格(以base
为基准)的权值,第二个元素是颗粒和第二列的权值,以此类推。如果把fx
的纵坐标带进去,第一个元素应该是颗粒和第一行网格的的权值,以此类推。
但是具体这里的w
的计算逻辑不太理解,为什么用fx
带入到w
中计算就能得到权值,能给出具体的步骤吗?非常感谢!