(数学建模)谣言的传播

问题描述:

(数学建模)谣言的传播
谣言的传播
设某城市共有n+1人,其中一人出于某种目的编造了一个谣言.该城市具有初中以上文化程度的人占总人数的比例为p,这些人只有a%相信这一谣言,而其他人约有b%会相信.又设相信此谣言的人每人在单位时间内传播的平均人数正比于当时尚未听说此谣言的人数,而不相信此谣言的人不传播谣言.试建立一个反映谣言传播情况的数学模型.
要求具体的解法,
2楼和4楼的那种解法看不懂...
4楼的可以不要用这种解法吗....用微积分列式..
我是菜鸟看不懂...
再加50分..

假设1
第1个人还是会参加第2次的谣言传播.即第1个人和相信谣言的人会不断传播谣言
假设2
相信此谣言的人每人在单位时间内传播的平均人数正比于当时尚未听说此谣言的人数这个比恒定不变
假设3
传播的时候也会传给传播谣和听过谣言的人
设第i个单位时间开始时
相信谣言总人数
xyz(i)
没听过人数
mt(i)
受传播人数中 没听过的人数占总人数比例(共有n+1个人,出去自己就有n个人)
t(i)=mt(i)/n;
受传播人数 如果k为定植
scb(i)=k*mt(i)*xyz(i);
受传播人数中没听过谣言的人数(考虑到传播的时候也会传给传播谣和听过谣言的人)
sch_mt(i)=scb(i)*t(i);
其中相信的有
scb_mt_xx(i)=sch_mt(i)*p*a/100+sch_mt(i)*(1-p)*b/100;
其中不相信的有
scb_mt_bxx(i)=sch_mt(i)-scb_xx(i);
第i+1时刻单位时间开始时
相信谣言总人数
xyz(i+1)=xyz(i)+scb_mt_xx(i);
没听过人数
mt(i+1)=mt(i)-sch_mt(i);
受传播人数中 没听过的人数占总人数比例
t(i+1)=mt(i+1)/n;
受传播人数 如果k为定植
scb(i+1)=k*mt(i+1)*xyz(i+1);
受传播人数中没听过谣言的人数(考虑到传播的时候也会传给传播谣和听过谣言的人)
sch_mt(i+1)=scb(i+1)*t(i+1);
其中相信的有
scb_mt_xx(i+1)=sch_mt(i+1)*p*a/100+sch_mt(i+1)*(1-p)*b/100;
其中不相信的有
scb_mt_bxx(i+1)=sch_mt(i+1)-scb_xx(i+1);
可以看到各种数构成了一个循环,这样就可以无限迭代下去
根据由1单位时刻
相信谣言总人数
xyz(1)=1
没听过人数
mt(1)=n
然后迭代下去.
如果假设1中第1个人不参与,只有其他相信的人参与.
那循环应该从第三个开始(本来是第二),因为
第2时刻相信谣言总人数不是下面的公式
xyz(i+1)=xyz(i)+scb_mt_xx(i);
而是
xyz(2)=scb_mt_xx(i);
所以要从第三个循环开始
至于程序楼上都差不多搞定了.自己看着办吧.