Re: wavelet
- To: mathgroup at smc.vnet.net
- Subject: [mg104992] Re: wavelet
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Tue, 17 Nov 2009 05:13:30 -0500 (EST)
- References: <hdoms7$95l$1@smc.vnet.net>
I don't have the wavelet package so I can't test it, but might it have
something to do with your ImageSize -> {500, 400} instruction? If you
expect to see more than 500 data points in a graph of only 500 wide
you will be disappointed.
Cheers -- Sjoerd
PS your example is full of strange codes. Next time make sure you
paste only ASCII code
On Nov 15, 12:58 pm, clansa <dauphines... at gmail.com> wrote:
> With the package Wavelet
> I have made this little program that is OK with 256 or 512 data, but
> the graphics (PlotCoefficients, and ListPlot of the cumulative
> energy don't work with 1024 data and more.
>
> (*D=E9composition en ondelettes*)
> (*La s=E9rie =E9tudi=E9e doit avoir 32, 64, \
> 128, 256, 512, 1024,... valeurs*)
> (*Importation des donn=E9es*)
> \
> ClearAll["Global`*"]
> d = Import[SystemDialogInput["FileOpen"]];
> d = Flatten[d];
> Print["longueur de la s=E9rie = ", n1 = Length[d]]
>
> (*Choisir ordre du filtre et niveau de d=E9composition*)
> \
> Needs["Wavelets`Wavelets`"]
> a = N[ChoiceDialog[
> "Choisir l'ordre du filtre", {1 -> "1", 2 -> "2", 3 -> "3",
> 4 -> "4", 5 -> "5", 6 -> "6", 7 -> "7"}]];
> a = ToExpression[a];
> ab = N[ChoiceDialog[
> "Choisir le niveau de d=E9composition maximum au-dela de 2", {3=
->
> "3", 4 -> "4", 5 -> "5", 6 -> "6", 7 -> "7"}]];
> ab = ToExpression[ab];
>
> (*Il faut entrer le nom du filtre pour calculer les coefficients \
> d'ondelettes et de multiresolution, Daubechies par d=E9faut*)
>
> d2 = DaubechiesFilter[a, 25];
> cv = N[WaveletTransform[d, d2, ab], 25];
> Dimensions[cv];
> Length /@ cv
> Print[]
> Print["Coefficients d'ondelettes = "];
>
> ListPlot[cv, ImageSize -> {500, 400}]
>
> PlotCoefficients[cv, Frame -> True]
>
> (*=E9tude de l'=E9nergie absolue cumul=E9e et de l'=E9nergie rela=
tive cumul=
> =E9e
> \
> pour tous les niveaux*)
> Print[]
> Print[]
> et = CumulativeEnergy[cv] // N;
> e = N[et/Flatten[cv].Flatten[cv]];
> ListPlot[et, ImageSize -> {500, 400}, PlotRange -> All,
> Joined -> True,
> PlotLabel -> "=E9nergie totale absolue cumul=E9e"] ListPlot[e,
> ImageSize -> {500, 400}, PlotRange -> All, Joined -> True,
> PlotLabel -> "=E9nergie totale relative cumul=E9e"]
>
> (*Calculs statistiques simples sur les coefficients d'ondelettes*)
> \
> Print[]
> Print["Entropie des coefficients d'ondelette par niveau "];
> entropcv = Table[Entropy[cv[[n1]]], {n1, 1, ab + 1}] // N