1、计算一维积分的蒙特卡罗法
代码:
function s=monte_carlo(a,b,n)
t=rand(1,n);
x=a+(b-a)t;
s=sum(monte_carlo_f(x));
s=s(b-a)/n;
end
function f=monte_carlo_f(x)
f=x.^2+sin(x);
end
分别在matlab中运行如下两个代码,则在命令行窗口中会出现如下图所示:
2、变步长辛卜生求二重积分法
代码如下:
clear all;
s=input('请输入函数表达式:f = ',‘s’);
f=inline(s);
a = input(‘请输入积分变量x左边界a的值:’);
b = input(‘请输入积分变量x右边界b的值:’);
c = input(‘请输入积分变量y左边界c的值:’);
d = input(‘请输入积分变量y右边界d的值