Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Can someone help me to implement this algorithm I have tried to but get errors

1 vue (au cours des 30 derniers jours)
Martin Park
Martin Park le 7 Oct 2013
Clôturé : MATLAB Answer Bot le 20 Août 2021
Algorithm
Last code = 255
Series = First input character
While not end of while
character = next input character
if (series + character in code table)
series = series + character
else
output = code for series
add series and character to code table
series = character
end
end
output = code for series
Here is my code:
a=[39 39 126 126;39 39 126 126;39 39 126 126;39 39 126 126];
[f,g]=size(a);
total = f*g;
count=1;
imgchar= a(:)';
lastcode = 255;
tel = 1;
reeks = imgchar(1,1);
reekstr = num2str(reeks);
for j = 2:total
kodetabel{j}= strcat(' ');
reekskar{j}= strcat(',');
end
for i=2:total
karakter(1,i)=imgchar(1,i);
karstr = num2str(karakter(1,i));
reekskar{i} = strcat([reekstr,' ',karstr]);
waar = 0;
for k=2:total
if reekskar{i}==kodetabel{k}
reeks= reekskar{i};
waar=1;
end
end
if waar==0
output{tel}=reekstr;
kodetabel{i}=reekskar{i};
lastcode = lastcode+1;
kodetabelnr{i}=lastcode;
reeks=karakter(1,i);
tel = tel+1;
end;
end;
output{tel}=reeks;
  2 commentaires
Laurent
Laurent le 7 Oct 2013
What is the error you get and in which line does it happen?
Martin Park
Martin Park le 7 Oct 2013
Error using == Matrix dimensions must agree.
Error in lzw (line 29) if reekskar{i}==kodetabel{k}

Réponses (2)

Laurent
Laurent le 7 Oct 2013
It depends a bit on what result you want, but if you change that line to
if strcmp(reekskar{i},kodetabel{k})
the script runs. I don't know if this what you want, but at least there is a result. If you want something else, please tell us the result that you expect.
  3 commentaires
Martin Park
Martin Park le 7 Oct 2013
series in my code is named reeks and character is named karakter and code table is kode tabel
Martin Park
Martin Park le 7 Oct 2013
when following the algorithm above i get the output

Martin Park
Martin Park le 7 Oct 2013
Can anyone help me please

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by