1 / 3
文档名称:

马尔可夫编程matlab.doc

格式:doc   大小:30KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

马尔可夫编程matlab.doc

上传人:2072510724 2019/2/6 文件大小:30 KB

下载得到文件列表

马尔可夫编程matlab.doc

文档介绍

文档介绍:%function[chain,state]=markov(T,n,s0,V);%function[chain,state]=markov(T,n,s0,V);%chaingeneratesasimulationfromaMarkovchainofdimension%thesizeofT%%Tistransitionmatrix%nisnumberofperiodstosimulate%s0isinitialstate(initialprobabilities)%Visthequantitycorrespondingtoeachstate%stateisamatrixrecordingthenumberoftherealizedstateattimet%%Originalauthor:mentsaddedbyQiangChen[rc]=size(T);%ris#ofrows,cis#ofcolumnsofTifnargin==1;%"nargin"refersto"numberofargumentsin".SoonlyTisprovidedinthiscaseV=[1:r];s0=1;n=100;end;ifnargin==2;%bothTandnareprovidedV=[1:r];s0=1;end;ifnargin==3;%T,nandS0areprovidedV=[1:r];end;%checkifthetransitionmatrixTissquareifr~=c;disp('errorusingmarkovfunction');disp('transitionmatrixmustbesquare');return;%breaktheprogramandreturnend;%checkifeachrowofTsumsupto1fork=1:r;ifsum(T(k,:))~=1;disp('errorusingmarkovfunction')disp(['row',num2str(k),'doesnotsumtoone']);%"num2str"('itsumsto:');disp([sum(T(k,:))]);disp(['normalizingrow',num2str(k),'']);T(k,:)=T(k,:)/sum(T(k,:));end;end;[v1v2]=size(V);ifv1~=1|v2~=r%"|"means"or"disp('errorusingmarkovfunction');disp(['statevaluevectorVmustbe1x',num2str(r),''])ifv2==1&v2==r;disp('transposingstatevaluationvector');V=V';%changeittoacolumnvectorelse;return;end;endifs0<1|s0>r;disp(['initialstate',num2str(s0),'isoutofrange']);disp(['initialstatedefaultingto1']);s0=1;end;%ThesimulationofMarkovchainformallystarts