没有合适的资源?快使用搜索试试~ 我知道了~
SA17011125+吴燕晶+概率算法1
需积分: 0 0 下载量 3 浏览量
2022-08-08
22:37:19
上传
评论
收藏 108KB DOCX 举报
温馨提示
试读
30页
首先因为(x,y)满足x*x+y*y<=1,所以(x,y)还是单位圆的点,其次因为y = x,所以点分布在y=x这条直线上,综上所述现在算法所求的值变为了求y=
资源详情
资源评论
资源推荐
概率算法
Ex1.若将 y<-uniform(0, 1)改为 y<-x, 则上述的算法估计的值是什么?
首先因为(x,y)满足 x*x+y*y<=1,所以(x,y)还是单位圆的点,其次因为 y = x,所以点分布在
y=x 这条直线上,综上所述现在算法所求的值变为了求 y=x 在单位圆内的长度与 y=x 在单位
正方形内的长度的比值的四倍,即
� �
222/1*4 �
。
以下是执行结果:
以下是具体的代码:
Main.c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
double darts(long n){
long k=0;
long i;
double x,y;
srand(time(0));
for(i=0;i<n;i++){
x = (double)(rand())/(RAND_MAX+1.0);
y = x;
if(x*x+y*y <= 1){
k++;
}
}
return (double)(4.0*k)/n;
}
int main(){
long n;
double result;
while(true){
printf("please inter the n value:");
scanf("%ld", &n);
result = darts(n);
printf("when n = %d the result is %f\n", n, result);
}
return 0;
}
Ex2.在机器上用
dxx
�
0
0
2
-14
估计π值,给出不同的 n 值及精度
由π=3.141592....进行精度估算
当 n= 100000 时,执行三次结果为:
可以看出此时的精度为 1 位小数
当 n= 10000000 时,执行三次结果为:
可以看出此时的精度为 2 位小数
当 n= 1000000000 时,执行三次结果为:
可以看出此时的精度为 3 位小数
以下是代码:
Main.c
#include <stdlib.h>
#include <stdio.h>
#include "function.h"
#include <time.h>
int main(){
//define the function point
double(*f)(double x);
long k;
long i;
long n;
double x, y, result, finalresult;
//this is the random seed
srand(time(0));
//initial the function point
f = circle;
while(true){
printf("please inter the n value:");
scanf("%ld", &n);
k = 0;
for(i = 0; i<n;i++){
x = (double)rand()/(RAND_MAX + 1.0);
y = (double)rand()/(RAND_MAX + 1.0);
result = (*f)(x);
if(y <= result){
k++;
}
}
finalresult = (double)(4.0 * k)/n;
printf("the final result is %f\n", finalresult);
}
return 0;
}
function.h
#ifndef __FUNCTION_H_
#define __FUNCTION_H_
double circle(double);
#endif
function.c
#include<math.h>
#include "function.h"
double circle(double x){
double y;
y = sqrt(1-x*x);
return y;
}
Ex3.设 a,b,c 和 d 是实数,且 a<=b,c<=d,f:[a, b]->[c, d]是一个连续函数,写一概率算法计算积
分:
这里我采用的函数是 y = x*x 这个连续函数。计算当 n 取不同的值时它在 x 为 1 到 2 之
间的积分。以下是结果:
剩余29页未读,继续阅读
王元祺
- 粉丝: 65
- 资源: 303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0