【发布时间】:2018-12-12 15:55:58
【问题描述】:
我测量了以下形式的三个维度的电场数据:
pos = [x1 y1 z1
x2 y2 z2
. . .
x1000 y1000 z1000]
ef = [e_x1 e_y1 e_z1
e_x2 e_y2 e_z2
. . .
e_x1000 e_y1000 e_z1000]
这些位置位于半个球内。我希望能够在球体的某个点对电场进行插值,这样我就可以接收到电场分量的所有三个值,而不仅仅是整个场的范数。 interp3 将不起作用,因为这些点不在网格中。 scatterInterpolant 需要范数作为输入,生成的函数只返回范数。关于使用什么功能或如何解决这个问题的任何建议?
【问题讨论】:
-
griddata可能是你想要的 -
根据文档,该函数将样本值作为向量,而不是数组。所以我认为它也会使用规范?
-
“规范”是什么意思?另外,您是什么意思“向量,而不是数组”?有什么区别?
-
你只需要
griddata(pos(:,1),pos(:,2),pos(:,3),ef(:,1),yourpointsx,yourpointsy) -
对不起,我的意思是矩阵。范数是指向量的第二个范数。所以
sqrt(e_x^2 + e_y^2 + e_z^2)。您的第二条评论是否计算了某个位置的电场的 x 分量?
标签: matlab