Re: compute distribution
- To: mathgroup at smc.vnet.net
- Subject: [mg82499] Re: compute distribution
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Mon, 22 Oct 2007 05:42:16 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <fff50c$eu3$1@smc.vnet.net>
vickyisai at gmail.com wrote:
> How can i compute the distribution of signals fired from a net . ther
> are 26 different signals that can be fired.
> which is obtained the form below.
>
>
> { ammmmmstgretsrdhydtudytyhsdefaweshgffdyhsfdhsgfjsdfdsfhkpgfkjgfjhkjhfdgkbfsdnfjkdsglhdsjfkgndsjgh}
>
> i ma confused with how to show the distribution plot. If i compute the
> "number of times" each signal has occured, than how it can be
> plotted. (like a appears 12 times, b appears 13 times....than
> frequency of appearance can be represented on y axis but what can i
> take on x axis.
>
> I work on mathematica 5.2
I am not sure at all to have correctly understood what you are looking
for; however, I believe that the following should be close enough to
help you started. (First in version 5.2, then in version 6.0.1. Graphics
have been deleted from this post.)
In[1]:=
$Version
Out[1]=
5.2 for Microsoft Windows (June 20, 2005)
In[2]:=
myTally[l_List]:=Map[{#,Count[l,#]}&,Union[l]]
In[3]:=
data=myTally[Characters[ToString[{\
ammmmmstgretsrdhydtudytyhsdefaweshgffdyhsfdhsgfjsdfdsfhkpgfkjgfjhkjhfdgkbfsdnf\
jkdsglhdsjfkgndsjgh}[[1]]]]]
Out[3]=
{{a,2},{b,1},{d,13},{e,3},{f,13},{g,9},{
h,10},{j,7},{k,6},{l,1},{m,5},{n,2},{p,1},{r,2},{s,12},{t,4},{u,1},{w,1},{y,
4}}
In[4]:=
data=Sort@Join[data,{#,0}&/@Complement[CharacterRange["a","z"],data[[All,1]]]]
Out[4]=
{{a,2},{b,1},{
c,0},{d,13},{e,3},{f,13},{g,9},{h,10},{i,0},{j,7},{k,6},{l,1},{m,5},{
n,2},{o,0},{p,1},{q,0},{r,2},{s,12},{t,4},{u,1},{v,0},{w,1},{x,0},{y,
4},{z,0}}
In[5]:=
<<Graphics`Graphics`
In[6]:=
Histogram[data[[All,
2]],FrequencyData\[Rule]True,Ticks\[Rule]{Transpose[{Range[26],
CharacterRange["a","z"]}],Automatic}];
(* And now in version 6.0.1. *)
In[1]:= $Version
Out[1]= "6.0 for Microsoft Windows (32-bit) (June 19, 2007)"
In[2]:= data =
Tally[Characters[
ToString[{\
ammmmmstgretsrdhydtudytyhsdefaweshgffdyhsfdhsgfjsdfdsfhkpgfkjgfjhkjhfd\
gkbfsdnfjkdsglhdsjfkgndsjgh}[[1]]]]];
data = Sort@
Join[data, {#, 0} & /@
Complement[CharacterRange["a", "z"], data[[All, 1]]]];
<< Histograms`
Histogram[data[[All, 2]], FrequencyData -> True,
Ticks -> {Transpose[{Range[26], CharacterRange["a", "z"]}],
Automatic}]
Regards,
--
Jean-Marc