通俗易懂的monteCarlo积分方法(八) | 您所在的位置:网站首页 › 函数积分的方法 › 通俗易懂的monteCarlo积分方法(八) |
计算任意重积分
一.基本问题二.问题的分析三.matlab实现代码1.基本的求解函数intCal.m2.多重积分计算的GUI实现(1)基本架构(2)结果显示
四.结论拓展五.直接调用代码
用matlab设计计算一般多重积分的算法和GUI界面 一.基本问题 先考虑计算多重积分的问题: ∫ Ω f ( x → ) d Ω \int_{\Omega}f(\overrightarrow x)d \Omega ∫Ωf(x )dΩ 其中: x → = ( x 1 , x 2 , . . . x n ) T \overrightarrow x = (x_1,x_2,...x_n)^T x =(x1,x2,...xn)T ,且 Ω : { ( x 1 , x 2 , . . . x n ) ∣ A ( x → ) < 0 } \Omega:\{(x_1,x_2,...x_n)|A(\overrightarrow x)∣N1i=1∑Ng(ζ i)f(ζ i)−∫Ωf(x )dΩ∣ 0 , l i m N → ∞ P { ∣ 1 N ∑ i = 1 N f ( ζ → i ) g ( ζ → i ) − ∫ Ω f ( x → ) d Ω ∣ < λ α σ N } = 2 2 π ∫ 0 λ α e − t 2 2 d t = 1 − α \forall \epsilon>0,lim_{N\rightarrow \infty}P\{|\frac{1}{N}\sum_{i=1}^N\frac{f(\overrightarrow \zeta_i)}{g(\overrightarrow \zeta_i)}-\int_{\Omega}f(\overrightarrow x)d \Omega|0,limN→∞P{∣N1i=1∑Ng(ζ i)f(ζ i)−∫Ωf(x )dΩ∣'-1;-1 ;0'}); bCell = inputdlg('请输入各个变量的上界限(列向量)','变量上界',1,{'1;1 ;1'}); a = str2num(['[',aCell{1},']']); b = str2num(['[',bCell{1},']']); m1 = size(b,1); m2 = size(a,1); if (m1 ~= m2)&&(n1~=n2) disp('Error of dimension of a and b!'); return; end %以下是计算多重积分的值 numbers = inputdlg('请输入计算次数','计算次数',1,{'5000'}); numbers = str2num(numbers{1}); f = inputdlg('请输入被积函数','被积函数',1,{'x(1)^2'}); f = str2func(['@(x)(',f{1},')']); A = inputdlg('请输入基本约束条件(A |
CopyRight 2018-2019 实验室设备网 版权所有 |