用蒙特卡洛方法求积分值,n=10,100,要求编写程序进行计算,程序语言不限。sarsxzy@163.com,万分感谢啊。

 我来答
wong6764
2013-04-08 · TA获得超过9131个赞
知道大有可为答主
回答量:3350
采纳率:50%
帮助的人:1071万
展开全部
%用 MATLAB 用蒙特卡洛方法求积分值:

n=10100
Xvariance=0.5
Xmean=0.5
Xrand = (Xvariance*randn(1,n)) + Xmean*ones(1,n);
Yrand = (0.5*randn(1,n)) +0.5*ones(1,n);
Zrand = (0.5*randn(1,n)) + 0.5*ones(1,n);
p = sin(3.14159265*Xrand.*Yrand.*Zrand);
Ans=sum(p)/n
%sum(p) is the number of points within the graph
%Ans is the answer of the integral
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happycauchy
2013-04-14 · TA获得超过1451个赞
知道小有建树答主
回答量:1322
采纳率:0%
帮助的人:1102万
展开全部

//这是用C语言写的


#include<stdio.h>

#include<math.h>

#include<time.h>

#define pi 3.1415926536

#define random(x) (rand()%x)

void main()

{

    double x,y,z,sum=0;

    int i,n=10100;

    srand(time(0));

    for(i=0;i<n;i++)

    {

        x=random(1001)/1000.0;//产生随机数

        y=random(1001)/1000.0;//产生随机数

        z=random(1001)/1000.0;//产生随机数

        sum+=sin(x*y*z*pi);

    }

    sum/=n;

    printf("用蒙特卡罗方法计算的积分值为%g.\n",sum);

}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式