MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 看看我的matlab程序哪里错了 (https://www.labfans.com/bbs/showthread.php?t=10474)

qqibrow 2009-12-20 17:20

看看我的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);

sogeno 2009-12-20 17:40

回复: 看看我的matlab程序哪里错了
 
专业性的东西,不好理解


所有时间均为北京时间。现在的时间是 12:52

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.