Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2009-12-20, 17:20   #1
qqibrow
初级会员
 
注册日期: 2009-12-20
帖子: 1
声望力: 0
qqibrow 正向着好的方向发展
默认 看看我的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);
qqibrow 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:17


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