Making a vector with letters

hi everyone,
these codes work correctly with numbers but i change the numbers with letters it does not work.
if i write [1 2 3 4 5 6] in alphabet there is no problem. it works.
I need run this codes with letters
when I run it with latters the codes which name is "randsrs" give me a error.
error="Dimensions of matrices being concatenated are not consistent."
How can i fix this problem. What should i write instead of "randsrsc" codes?
i have to change {'a' 'b' 'c'} to [ a a b a c a b c a b]
please help me
alphabet = ['a' 'b' 'c' 'd' 'e' 'f']
p = [.5 .125 .125 .125 .0625 .0625]
dict = huffmandict(alphabet,p)
sig = randsrc(1,10,[alphabet; p])
comp = huffmanenco(sig,dict)
dsig = huffmandeco(comp,dict)

1 件のコメント

Stephen23
Stephen23 2017 年 12 月 21 日
編集済み: Stephen23 2017 年 12 月 21 日
@S.ANIL Ercetin: Note that in MATLAB [] are a concatenation operator, and are not a list operator as in some other languages (MATLAB does not have a list operator). This means that this:
alphabet = ['a' 'b' 'c' 'd' 'e' 'f']
is actually equivalent to this:
alphabet = 'abcdef'
and could be defined more generally using:
alphabet = 'a':'f'

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 12 月 21 日

0 投票

alphabet = ['a' 'b' 'c' 'd' 'e' 'f'];
p = [.5 .125 .125 .125 .0625 .0625];
dict = huffmandict(num2cell(alphabet), p);
sig = char( randsrc(1,10,[double(alphabet); p]) );
comp = huffmanenco(sig,dict)
dsig = cell2mat(huffmandeco(comp,dict))

1 件のコメント

S.ANIL Ercetin
S.ANIL Ercetin 2017 年 12 月 21 日
it exactly works, thanks for your help.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLarge Files and Big Data についてさらに検索

質問済み:

2017 年 12 月 21 日

コメント済み:

2017 年 12 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by