# \[SciLab\] Incompatibles dimensions de deux listes

**URL:** <https://www.debian-fr.org/t/scilab-incompatibles-dimensions-de-deux-listes/31411>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 1:01 UTC](https://www.debian-fr.org/t/scilab-incompatibles-dimensions-de-deux-listes/31411 "2016-02-21T01:01:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![L0u](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/b77776/32.png) [@L0u](https://www.debian-fr.org/u/L0u)\
**Post date:** [Février 21, 2016, 1:01 UTC](https://www.debian-fr.org/t/scilab-incompatibles-dimensions-de-deux-listes/31411/1 "2016-02-21T01:01:06Z")

</div>

Salut,

Pour mon TPE que je passe jeudi (29 mars) j’ai besoin de montrer l’effet d’un filtre ( ici passe-bas ) sur un signal périodique.  
J’ai donc utilisé SciLab pour le faire. J’ai réussi à faire un signal carré, mais je n’arrive pas à appliquer le filtre, car il y a une erreur que je n’arrive pas à corriger:

[code]-1-\>exec(’/home/louis/Documents/textes/SciLab/analog\_elliptic\_filter.sce’, -1)  
Warning: file ‘/home/louis/Documents/textes/SciLab/analog\_elliptic\_filter.sce’ already opened in Scilab.  
!–error 60  
Wrong size for argument: Incompatible dimensions.

at line 12 of function flts called by :  
y = flts(s,eldtf); // Filter the signal  
at line 28 of exec file called by :  
exec(’/home/louis/Documents/textes/SciLab/analog\_elliptic\_filter.sce’, -1)[/code]

Voici le code:

```auto
// analog elliptic (Bessel), order 2, cutoff 1 Hz
Epsilon = 1; // ripple of filter in pass band (0<epsilon<A)
A = 2; // attenuation of filter in stop band (A>1)
OmegaC = 20; // pass band cut-off frequency in Hertz
OmegaR = 440; // stop band cut-off frequency in Hertz

[_zeros,pols,gain] = zpell(Epsilon,A,OmegaC,OmegaR);

num = gain * real(poly(_zeros,'s'));
den = real(poly(pols,'s'));
elatf = syslin('c',num,den);

//rand('normal');
//Input = rand(1,1000); // Produce a random gaussian noise
max_harm = 100;
t = 1:10000;
t = t*1/(1000000); // Convert sample index into time steps
amp = 3;
f = 440;
n = 1;
sig = 0;
while n<max_harm,
   sig = sig+amp*(1/n)*sin(n*2*%pi*f*t);
   n=n+2;
end

eldtf = dscr(elatf,1/100); // Discretization of the linear filter
// ici la fonction qui plante
y = flts(sig,eldtf); // Filter the signal

// affichage des graphes:
subplot(2,1,1);
plot(t,sig);
xtitle('Signal Carré','t','Amplitude');
subplot(2,1,2);
plot(t,y);
xtitle('The filtered gaussian noise','t','Amplitude');
```

J’essaie de mon côté, mais si vous avez la réponse à mon problème, je suis toute ouïe.

Merci d’avance,  
Louis

---

<div class="post-metadata">

**Author:** ![L0u](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/b77776/32.png) [@L0u](https://www.debian-fr.org/u/L0u)\
**Post date:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/scilab-incompatibles-dimensions-de-deux-listes/31411/2 "2016-02-21T01:07:23Z")

</div>

Bon, bah pas de réponse mais tant pis je me suis débrouillé autrement qu’avec les filtres pour le TPE.
