用matlab计算时刻

时间:2016-09-10 15:00:31

标签: matlab

任何人都可以帮我写一个计算以下表达式的matlab程序吗?

enter image description here

假设J(r')和r'有很多样本(比方说100)并且都包含3个数字(100行和3列)。

我根本不知道如何计算3D积分......

谢谢你!

2 个答案:

答案 0 :(得分:1)

使用矢量叉积的规则,您可以分析地编写结果矢量分量(Res = J x r),然后对其进行积分。对于x-component(Res_x=J_z*y-J_y*z):

integral3(@(x,y,z) interp3(xsample, ysample, zsample, Res_x, x, y, z), ...
                           xmin, xmax, ymin, ymax, zmin, zmax)

其中xsampleysamplezsampleRes_x(维度为Nx x {{1}的3D矩阵的样本点的坐标} x Ny)可以使用Nz)从矩阵(Nx*Ny*Nz)获取,其中reshapeNxNy是定义了样本点的Nzxy轴的离散化数量。

例如:

z

答案 1 :(得分:0)

嗯,一个非常简单的解决方案是使用scatInterpolant函数。它根据我的坐标和值给出了线性插值。而且其他建议的解决方案也是有效的。