hello experts...see I am executing a code....want some suggestions

My code is
%script----------------------------------%
X= ' PPtPPPPP';
lengh=numel(X);
aaAA=estring(X);
zz=numel(aaAA);
comp_ratio=(lengh)/(zz)
%------------------------------------------
function y = estring(str)
len = numel(str);
i = 0;
count = zeros(1,len);
y=[];
while( i<len )
j=0;
count(i+1) = 1;
if(count==1)
y=[y 1];
while( true )
j = j + 1;
if( i+j+1 > len )
break;
end
if( str(i+j+1)==str(i+1) )
count(i+1) = count(i+1) + 1;
else
break;
end
end
if( count(i+1)==1 )
a=str(i+1);
length(a);
y = [y a];
i = i + 1;
else
a=str(i+1);
b=count(i+1);
y =[y a b];
i = i + b;
end
end
end
Input: PPtPPPPP
numel(Input)=8
*Output :* P tP [space at the end]
numel(Output)=5
I want this to be like Output" P t P [space] numel(output)=4
Please help me to modify the code to consider single count as character plus space

Respuestas (1)

Walter Roberson
Walter Roberson el 6 de Mayo de 2015
To achieve that output:
  • do not do anything special for count 1: treat it like all of the others
  • Output = fliplr( aaAA(1:2:end) )

8 comentarios

Thank you for your reply. But I am not getting it. Can you please elaborate?
Replace the line
if( count(i+1)==1 )
with
if false
Then in your test script after you have computed the compression ratio,
bytes_from_encoding = aaAA(1:2:end );
reversed_bytes = fliplr(bytes_from_encoding);
str_of_reversed_bytes = char(reversed_bytes);
It is giving just a reversed string Not the desired output
Please show
X
aaAA
str_of_reversed_bytes
tina jain
tina jain el 7 de Mayo de 2015
Editada: tina jain el 7 de Mayo de 2015
X
X =
ttP
>> aaAA
aaAA =
t P
>> str_of_reversed_bytes
str_of_reversed_bytes =
Pt
You did not use the same X as in your problem statement, so I cannot compare the result to what you had stated that you wanted.
done with this....but I want to know further....in some situations it is giving compression ratio up to 100...is it OK?

Iniciar sesión para comentar.

Categorías

Más información sobre Signal Processing Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 6 de Mayo de 2015

Comentada:

el 9 de Mayo de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by