![]() |
看看我的matlab程序哪里错了
初学matlab,写了一个计算y = sinx 和y = 2/pi*x 在第一象限所围面积的程序,但结果总是和理论上的正确答案出入较大。希望高手指点一下。
这是一个蒙特卡洛实验,实验原理就是像撒点,看有多少点落到目标区域内,根据比例从而算出目标区域的面积。 程序如下: clear num = input('请输入试验次数'); frequency = input('请输入样本容量'); sum = 0; for j = 1:num x = rand(1,frequency)*pi/2; low = x*2/pi; y = low + rand()*(1 - low ); high = sin(x); count = 0; for i = 1:frequency if diag(y(1,i))>diag(low(1,i))&&diag(y(1,i))<diag(high(1,i)) count = count + 1; end end fre = count/frequency; result = fre*pi/4; sum = sum + result; end fprintf('得到面积是 %8.5f\n',sum/num); |
回复: 看看我的matlab程序哪里错了
专业性的东西,不好理解
|
所有时间均为北京时间。现在的时间是 12:52。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.