課程設(shè)計:
1.求出在一個n×n的棋盤上,放置n個不能互相捕捉的國際象棋“皇后”的所有布局。
2.設(shè)計一個利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止。
【基本要求】
1) 將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中)
2) 分別采用動態(tài)和靜態(tài)存儲結(jié)構(gòu)
3) 初始化:鍵盤輸入字符集大小n、n個字符和n個權(quán)值,建立哈夫曼樹;
4) 編碼:利用建好的哈夫曼樹生成哈夫曼編碼;
5) 輸出編碼;
6) 設(shè)字符集及頻度如下表:
字符 空格 A B C D E F G H I J K L M
頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20
字符 N O P Q R S T U V W X Y Z
頻度 57 63 15 1 48 51 80 23 8 18 1 16 1
%========================開始提取加噪信號的各類特征值================================
for n=1:1:50;
m=n*Ns;
x=(n-1)*Ns;
for i=x+1:m; %提取加噪信號'signal_with_noise=y+noise'的前256個元素,抽取50次
y0(i)=signal_with_noise(i);
end
Y=fft(y0); %對調(diào)制信號進(jìn)行快速傅里葉算法(離散)
y1=hilbert(y0) ; %調(diào)制信號實(shí)部的解析式
factor=0; %開始求零中心歸一化瞬時幅度譜密度的最大值gamma_max
for i=x+1:m;
factor=factor+y0(i);
end
ms=factor/(m-x);
an_i=y0./ms;
acn_i=an_i-1;
end
gamma_max=max(fft(acn_i.*acn_i))/Ns