求高手帮我解决一道matlab线性代数应用题
某实验员对10000株(其中7000为红色,3000为白色)豌豆观察,知母本为色的豌豆,以概率0.95遗传给下一代使其仍为红色,以概率0.05变异为白色;母为白色的豌豆,...
某实验员对10000株(其中7000为红色,3000为白色)豌豆观察,知母本为色的豌豆,以概率0.95遗传给下一代使其仍为红色,以概率0.05变异为白色;母为白色的豌豆,以概率0.85遗传,以概率0.15变异为红色。求(1)第十代开红花和白花的豌豆各为多少?(2)第30、50代的情形呢?试分析原因
请高手们尽快帮忙完成,感激不尽 展开
请高手们尽快帮忙完成,感激不尽 展开
1个回答
展开全部
你提的问题不是很清楚,是要用Matlab来计算?当然这道题在纯数学领域是可解的,其原理如下:
用一族列向量X_n表示第n代的红色豌豆(X_n(1,1))和白色豌豆(X_n(2,1))的个数
在大样本时,可以认为频率依概率收敛,一步转移阵如下
┌ X_(n+1)(1,1) ┐ _ ┌ 0.95 0.15 ┐┌ X_(n)(1,1) ┐
└ X_(n+1)(1,2) ┘  ̄ └ 0.05 0.85 ┘└ X_(n)(1,2) ┘
现在已知
┌ X_(1)(1,1) ┐ _ ┌ 7000 ┐
└ X_(1)(1,2) ┘  ̄ └ 3000 ┘
用Matlab计算
x_init=[7000;3000];
trnsfm=[0.95,0.15;0.05,0.85];
x_buf =zeros(2,50);
x_buf(:,1)=x_init;
for i_gnrt=2:50
x_buf(:,i_gnrt)=trnsfm*x_buf(:,i_gnrt-1);
end
得到的x_buf第几列就是第几代的个数.
可以看到从43代起,收敛到红色7500,白色2500.
你要的第10代,第30代,第50代,可以自己查表,当然上述过程是以浮点进行的,可以在每步计算的时候取一下四舍五入
x_buf(:,i_gnrt)=round(trnsfm*x_buf(:,i_gnrt-1));
至于为什么,当然是由状态转移阵决定的,可以对其进行对角化,构造相似变换阵,3:1的稳定比可以从相似变换阵中看出.
同时,可以尝试,收敛结果是与初值怎么分布无关的.
你给的分太少,我只能说这么多.不为别的,就为了采纳率,望手下留情.加悬赏的话,可以Q聊.
用一族列向量X_n表示第n代的红色豌豆(X_n(1,1))和白色豌豆(X_n(2,1))的个数
在大样本时,可以认为频率依概率收敛,一步转移阵如下
┌ X_(n+1)(1,1) ┐ _ ┌ 0.95 0.15 ┐┌ X_(n)(1,1) ┐
└ X_(n+1)(1,2) ┘  ̄ └ 0.05 0.85 ┘└ X_(n)(1,2) ┘
现在已知
┌ X_(1)(1,1) ┐ _ ┌ 7000 ┐
└ X_(1)(1,2) ┘  ̄ └ 3000 ┘
用Matlab计算
x_init=[7000;3000];
trnsfm=[0.95,0.15;0.05,0.85];
x_buf =zeros(2,50);
x_buf(:,1)=x_init;
for i_gnrt=2:50
x_buf(:,i_gnrt)=trnsfm*x_buf(:,i_gnrt-1);
end
得到的x_buf第几列就是第几代的个数.
可以看到从43代起,收敛到红色7500,白色2500.
你要的第10代,第30代,第50代,可以自己查表,当然上述过程是以浮点进行的,可以在每步计算的时候取一下四舍五入
x_buf(:,i_gnrt)=round(trnsfm*x_buf(:,i_gnrt-1));
至于为什么,当然是由状态转移阵决定的,可以对其进行对角化,构造相似变换阵,3:1的稳定比可以从相似变换阵中看出.
同时,可以尝试,收敛结果是与初值怎么分布无关的.
你给的分太少,我只能说这么多.不为别的,就为了采纳率,望手下留情.加悬赏的话,可以Q聊.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询