首页 > 解决方案 > Scilab - 多维整合

问题描述

你知道如何定义多维积分吗?我必须使用我自己的方法(蒙特卡洛)来计算结果。

不可缺少的

Ω - 圆盘,其中 r=0.5,其中心位于 x=0.5,y=0.5

标签: multidimensional-arrayscilabintegral

解决方案


以下是如何使用 Scilab(使用极坐标变化)为 f(x,y)=x+y 执行此操作。Scilab的int2d函数可以对三角形进行自适应积分,这里我们将矩形 [0,0.5]x[0,2*pi] 划分为两个三角形,其边坐标在两个rtheta矩阵中给出:

function out=f(x,y)
    out = x+y;
endfunction

function out=g(r,theta)
    out = r*f(0.5+r*cos(theta),0.5+r*sin(theta));
endfunction

r=[0 0.5 0
   0.5 0.5 0]';
theta=[0 0 2*%pi
       0 2*%pi 2*%pi]';
       
I=int2d(r,theta,g);

推荐阅读