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

Réponses (1)

Walter Roberson
Walter Roberson le 6 Mai 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 commentaires

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
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?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Signal Processing Toolbox dans Centre d'aide et File Exchange

Commenté :

le 9 Mai 2015

Community Treasure Hunt

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

Start Hunting!

Translated by