在Matlab中使用Trapz进行数值积分

时间:2019-07-17 02:45:37

标签: matlab

我有一个N by N的矩阵(目前为N = 64)。

我通过积分另一个函数(表面积分)得到了这个矩阵。现在使用这个N by N矩阵,我需要在trapz的网格上使用64 by 64做另一个双积分。我可以按照代码定义网格,并使用嵌套的trapz来集成矩阵Mat

  

这里的问题是坐标之间的距离相对   大,看起来trapz 高估了

Mat的值非常小(10^-10的阶数),所以这可能是因为积分间隔与此(也许)相比很大的原因吗?

我正在寻找一种将网格分解为较小的组件(只是集成空间)的方法,但是我找不到解决方法。

我的意思是我可以使用linspace再次创建一个间隔很小的积分空间,但是Matrix的大小完全不变。

  

所以,我的主要问题是,有没有一种方法可以使trapz通过   集成的网格间距很小,因此我可以   (比方说几千个点),但可以在同一64 by 64矩阵上进行积分吗?

N = 64;

ObjectMax = .5; 

xO = linspace(-ObjectMax,ObjectMax,N);

yO = linspace(-ObjectMax,ObjectMax,N);

trapz(yO, trapz(xO, Mat))

0 个答案:

没有答案