东方亚洲欧a∨人在线观看|欧美亚洲日韩在线播放|日韩欧美精品一区|久久97AV综合

        璀璨人生57

        發(fā)布時(shí)間:2017-01-14 來源: 人生感悟 點(diǎn)擊:

        璀璨人生57篇一:北郵信息論附加題

        信息論附加題(2)

        一、 實(shí)驗(yàn)?zāi)康募耙?/p>

        選擇一定長(zhǎng)度的英文文本,去除標(biāo)點(diǎn)符號(hào),保留空格,不區(qū)分大小寫。 要求:

        (1) 不考慮符號(hào)間的依賴關(guān)系,統(tǒng)計(jì)每個(gè)符號(hào)出現(xiàn)的頻率,計(jì)算獨(dú)立信源熵H(X)。

        (2) 考慮每個(gè)符號(hào)與前一個(gè)符號(hào)的依賴關(guān)系,計(jì)算一階馬氏源熵H(X2|X1)。

        (3) 比較H(X)和H(X2|X1),對(duì)結(jié)果進(jìn)行討論。

        (4) 把仿真結(jié)果與《信息論基礎(chǔ)》57 頁的結(jié)果進(jìn)行比較,并進(jìn)行討論。

        二、 實(shí)驗(yàn)步驟

        1. 導(dǎo)入一段英文樣本文件(《我的璀璨人生》,文本見附件;

        2. 統(tǒng)計(jì)這段文本中英文字母(不區(qū)分大小寫)和空格出現(xiàn)的個(gè)數(shù),以及所有字符的個(gè)數(shù),進(jìn)而得到各個(gè)字母出現(xiàn)的概率p(x);

        3. 利用公式:H(X)=-Σp(x)log p(x) ,計(jì)算樣本的熵H(X);

        4. 統(tǒng)計(jì)文本中相鄰兩個(gè)字符出現(xiàn)的概率p(xy),通過計(jì)算邊緣概率分布可得p(x),然后利用公式p(y|x)=p(xy)/p(x)條件分布概率p(y|x);

        5. 利用公式:

        計(jì)算得到樣本的一階馬氏源熵

        三、 實(shí)驗(yàn)結(jié)果及討論

        (一) 實(shí)驗(yàn)結(jié)果:

        獨(dú)立信源熵:H1=4.0483比特/符號(hào)

        一階馬氏源熵:H2=3.3348比特/符號(hào)

        (二) 討論:

        1.比較H(X)和H(X2|X1),對(duì)結(jié)果進(jìn)行討論

        (1)考慮到英文不同字母和空格的實(shí)際出現(xiàn)概率后,英文信源的信息熵H1(X)要比把字母和空格視為等概率出現(xiàn)時(shí)的信息熵要小一些。也即在考慮到英文字母和空格的實(shí)際出現(xiàn)概率后,英文信源的平均不確定性,比把字母和空格視為等概率出現(xiàn)時(shí)英文信源的平均不確定性小一些。

        (2)對(duì)比H(X)和H(X2|X1),可以看到,在考慮到前后兩個(gè)字符間的依賴關(guān)系即將英文信源視為一階馬氏源后,信源熵進(jìn)一步減小,即英文信源的平均不確定性進(jìn)一步減小了。

        2.把仿真結(jié)果與《信息論基礎(chǔ)》57 頁的結(jié)果進(jìn)行比較,并進(jìn)行討論。

        課本上的H1=4.03比特/符號(hào),H2=3.32比特/

        符號(hào),此次實(shí)驗(yàn)進(jìn)行計(jì)

        算的結(jié)果為H1=4.0483比特/符號(hào),H2=3.3348比特/符號(hào),均十分接近書本上的結(jié)果,只是稍微略大一些。原因是使用的樣本文件中文本字符個(gè)數(shù)有限,統(tǒng)計(jì)的概率并未達(dá)到理想的效果。此外,由于在實(shí)際處理中,我將各個(gè)標(biāo)點(diǎn)符號(hào)和回車符號(hào)都替換成了空格鍵,也對(duì)結(jié)果造成了一定的影響。

        四、 MATLAB源代碼

        fid=fopen('f:\text.txt','r');

        text1=fscanf(fid,'%c');%讀出文件

        text=strrep(text1,char(0),char(32));

        % for i=0:31

        % text=strrep(text,char(i),char(32));

        % end

        for i=33:64

        text=strrep(text,char(i),char(32));

        end

        for i=91:96

        text=strrep(text,char(i),char(32));

        end

        for i=123:127

        text=strrep(text,char(i),char(32));

        end

        %%%%%%%%%%%%%%以上為對(duì)文本進(jìn)行優(yōu)化處理%%%%%%%%%%%%%%%%%%%%%%

        %%%%%%%%%%%%%%計(jì)算獨(dú)立信源熵?%%%%%%%%%%%%%%

        str=strrep(text1,b,c);

        M=size(text);

        row=M(1,1);

        line=M(1,2);

        N=zeros(1,27);%存儲(chǔ)每個(gè)符號(hào)出現(xiàn)的次數(shù)

        for i=1:row

        for j=1:line

        if double(text(i,j))>96&&double(text(i,j))<=122

        N(1,double(text(i,j))-96)=N(1,double(text(i,j))-96)+1; elseif double(text(i,j))>64&&double(text(i,j))<=90

        N(1,double(text(i,j))-64)=N(1,double(text(i,j))-64)+1; elseif double(text(i,j))==32

        N(1,27)=N(1,27)+1;

        end

        end

        end

        P=zeros(1,27);%存儲(chǔ)所有符號(hào)的概率

        Log=zeros(1,27);

        total=sum(N,2);%存儲(chǔ)、計(jì)算所有的有效字符

        for i=1:27

        P(1,i)=N(1,i)/total(1,1);%統(tǒng)計(jì)所有的字符的概率

        Log(1,i)=P(1,i)*log2(1/P(1,i));

        end

        H=sum(Log,2)

        %%%%%%%%%計(jì)算一階馬氏源熵%%%%%%%%%%%%%%%

        J=zeros(27,27);%統(tǒng)計(jì)聯(lián)合個(gè)數(shù)

        for i=1:row

        for j=2:line

        if double(text(i,j))>96&&double(text(i,j))<=122

        if double(text(i,j-1))>96&&double(text(i,j-1))<=122

        J(double(text(i,j-1))-96,double(text(i,j)-96))=J(double(text(i,j-1))-96,double(text(i,j)-96))+1;

        elseif double(text(i,j-1))>64&&double(text(i,j-1))<=90

        J(double(text(i,j-1))-64,double(text(i,j)-96))=J(double(text(i,j-1))-64,double(text(i,j)-96))+1;

        elseif double(text(i,j-1))==32

        J(27,double(text(i,j)-96))=J(27,double(text(i,j)-96))+1;

        end

        elseif double(text(i,j))>64&&double(text(i,j))<=90

        if double(text(i,j-1))>96&&double(text(i,j-1))<=122

        J(double(text(i,j-1))-96,double(text(i,j)-64))=J(double(text(i,j-1))-96,double(text(i,j)-64))+1;

        elseif double(text(i,j-1))>64&&double(text(i,j-1))<=90

        J(double(text(i,j-1))-64,double(text(i,j)-64))=J(double(text(i,j-1))-(轉(zhuǎn) 載 于:smilezhuce.com 蒲 公英文 摘:璀璨人生57)64,double(text(i,j)-64))+1;

        elseif double(text(i,j-1))==32

        J(27,double(text(i,j)-64))=J(27,double(text(i,j)-64))+1;

        end

        elseif double(text(i,j))==32||double(text(i,j))==13

        if double(text(i,j-1))>96&&double(text(i,j-1))<=122

        J(double(text(i,j-1))-96,27)=J(double(text(i,j-1))-96,27)+1; elseif double(text(i,j-1))>64&&double(text(i,j-1))<=90

        J(double(text(i,j-1))-64,27)=J(double(text(i,j-1))-64,27)+1; elseif double(text(i,j-1))==32

        J(27,27)=J(27,27)+1;

        end

        end

        end

        end

        xsum=sum(J,2);

        t=sum(xsum);

        JP=zeros(27,27);%聯(lián)合概率密度

        P2=zeros(27,27);%條件概率分布

        for i=1:27

        for j=1:27

        JP(i,j)=J(i,j)/t;

        P2(i,j)=JP(i,j)/P(1,i);

        end

        end

        %計(jì)算H(Y|x)

        H_Y_x=zeros(27,1);

        for i=1:27

        for j=1:27

        if(P2(i,j)~=0)

        H_Y_x(i,1)=H_Y_x(i,1)+P2(i,j)*log2(1/P2(i,j));

        end

        end

        end

        %計(jì)算H(X2|X1

        H2=P*H_Y_x

        五、 實(shí)驗(yàn)總結(jié)和心得體會(huì)

        通過本次MATLAB仿真實(shí)驗(yàn),我學(xué)會(huì)了對(duì)一段文本信源進(jìn)行信源熵和一階馬氏源熵的計(jì)算,可見,當(dāng)考慮到文本字符的依賴性時(shí),可以大大縮小信源熵值,在實(shí)際應(yīng)用中即可通過這種方法,壓縮傳輸文字,很大地提高傳輸和存儲(chǔ)英文消息的效率。

        由于之前并未使用過MATLAB進(jìn)行編程和仿真,對(duì)MATLAB中的一些函數(shù)不夠了解,所有在此次作業(yè)的代碼中,很大程度上借鑒了C++中的語言風(fēng)格和思想,使得代碼看上去有些臃腫繁復(fù)。若能熟悉使用一些矩陣運(yùn)算的函數(shù),代碼能夠變得更加簡(jiǎn)練。

        璀璨人生57篇二:年金險(xiǎn)比較

        年金險(xiǎn)比較

        1

        2

        3

        4

        5

        璀璨人生57篇三:熱播電視連續(xù)劇系列匯編

        相關(guān)熱詞搜索:璀璨 人生 璀璨人生57大結(jié)局預(yù)告 璀璨人生57全集

        版權(quán)所有 蒲公英文摘 smilezhuce.com