关于matlab求一个简单的定积分的编程,哪里出问题了

a=rand(1,1000000);%生成1行1000列共1000个0到1之间的小数x=a*4;%将a映射到0到4之间(包括4)y=a*3;%将b映射到0到3之间(包括3... a=rand(1,1000000);%生成1行1000列共1000个0到1之间的小数x=a*4;%将a映射到0到4之间(包括4)y=a*3;%将b映射到0到3之间(包括3)n=0;for i=1:1000000if y(i)<=cos(x(i))+2n=n+1;endendsprintf('n=%d',n)ans =n=512389 求的的定积分是6.15,实际是7.24 展开
 我来答
周永红_ZYH
2016-12-13 · TA获得超过2912个赞
知道大有可为答主
回答量:1455
采纳率:90%
帮助的人:695万
展开全部

问题可能是x与y不“独立”,是相关的。

如下代码可用。

a=rand(1,1000000);%生成1行1000列共1000个0到1之间的小数

b = rand(1,1000000);%生成1行1000列共1000个0到1之间的小数

x=a*4;%将a映射到0到4之间(包括4)

y=b*3;%将b映射到0到3之间(包括3)

n=0;
for i=1:1000000
    if y(i)<=cos(x(i))+2
        n=n+1;
    end
end

n
Q = n/1000000*3*4
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式