各位高手,求教一道用matlab的编程题,非常着急!

[复制链接]
查看11 | 回复1 | 2008-6-11 17:03:45 | 显示全部楼层 |阅读模式
已知:常量a=8,b=2,k=3,MAXNa=50

变量初始值Q=0,Na=0,Nb=0,

R(01)是[0,1]均匀分布的随机序列
程序:1.if R(01)<=a/(a+Qb),Na=Na+1;

if Q=k,Nb=Nb+1,else Q=Q+1;

else,Q=Q-1

(注:这3句是并列的)

2.if Na<MAXNa 就转到上面的1,else, print Bp=Nb/Na
注R(01)在每次循环时,都会产生介于(0,1)不同的随机数

回复

使用道具 举报

千问 | 2008-6-11 17:03:45 | 显示全部楼层
可能这个是你想要的。cleara=8;b=2;k=3;MAXNa=50;Q=0;Na=0;Nb=0;while(Na<MAXNa) R=rand(1,1); if R<=a/(a+Q*b)Na=Na+1;if Q==k Nb=Nb+1;else Q=Q+1;end elseQ=Q-1; endendBp=Nb/Na
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行