Making a vector with letters

8 次查看(过去 30 天)
S.ANIL Ercetin
S.ANIL Ercetin 2017-12-21
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
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))

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by