Aller au contenu

Écrêtage des valeurs d'un tableau

Le cadre

L'écrêtage d'un signal consiste à limiter l'amplitude du signal entre deux valeurs x_min et x_max. On peut également appliquer cela aux valeurs d'un tableau.

Voici par exemple un tableau valeurs que l'on a écrêté entre \(-150\) et \(150\) pour donner le tableau valeurs_écrêtées :

🐍 Script Python
valeurs          = [34, 56, 89, 134, 152, 250, 87, -34, -187, -310]
valeurs_écrêtées = [34, 56, 89, 134, 150, 150, 87, -34, -150, -150]

Les valeurs sont inchangées, sauf celles inférieures à \(-150\) et celles supérieures à \(+150\).

Exercice

  1. Coder une fonction limite_amplitude qui prend en paramètre un nombre x ainsi que deux nombres x_min et x_max (avec x_min <= x_max) et qui renvoie :
    • x si x est compris entre x_min et x_max,
    • x_min si x est plus petit que x_min,
    • x_max si x est plus grand que x_max.
  2. Coder une fonction écrêtage qui prend en paramètre un tableau de valeurs ainsi que x_min et x_max (avec x_min <= x_max) et renvoie un tableau des valeurs écrêtées entre x_min et x_max.

⚠ Le tableau valeurs, lui, ne doit pas être modifié !

Exemples d'utilisation
>>> limite_amplitude(34, -150, 150)
34
>>> limite_amplitude(-187, -150, 150)
-150
>>> valeurs = [34, 56, 89, 134, 152, 250, 87, -34, -187, -310]
>>> écrêtage(valeurs, -150, 150)
[34, 56, 89, 134, 150, 150, 87, -34, -150, -150]
>>> valeurs
[34, 56, 89, 134, 152, 250, 87, -34, -187, -310]
>>>
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.128013x/.Tr;nbOylaeêu)d63HAm(P02è-],59fq7B8 _o=pcwgv41kRéhtsSàLC[i:E050r0n0#0m0,0l0$0M0R0l0m0$0$0P010#0,0Q010406050$0p0w0w0m0f0k040%0O0l0p120O0h0M020m0w0Q0g0M0Y0n1c0f0I0p0n0$050c191b1d1f170Q04051K1D1N0c1K170r0,0U0`0|0~100!0,0T0!0l1#0!0#15050=0i0l0n1W0}0 011!1$1(1$0#1.1:1,0#0f1L0#0!1=1Y010H0@0n0h1q0n010`1i0$0Q0m0h100A1,2i2k261@291:2c0w2e040a0M0y0f0O0Q0O0$0,1l1n0:2g0f0f0n0R2I1D2p0h1L0c242U2123221-0r2r101(0h2b2F1,1T1V0{1?2(0,2*0h0O2.1,0Q2N1L2S2U2 182j1n2:272^0f1c0l150M0W2R3316322q351@37393b0A3e2k3g2S2%013l0m3a040M0t3p2T173s3j103v3x0M0V3B3r333t3H3b0F3L3D3N3F3u0O383w3b0s3S3h341X3k3X3m3y0J3$3E3)3G3+3Z3y0L3/3U3;3W3Y3I0G3`3i3|3P040W0z413(2;3}3,0W3d1E3f3T424a440W3o4f3q4h49363?3x0W3A4n3C3%3O4s150W3K4w3M4i4r3~4B3R4E1O2}1D2.2X0r232$3V0R2_2x0/1U1L2|0n2~3f3L054V0:4%4G1@0X150:0H4)3:4a0S3b4@3{4j0H151(0w2H0n0N1q0Q1(0#0p0:4|4.1014040x5c4q3k150b5i3t5f0E3L0M4y3V0h5l0N520h5n3V5p5r5t435w1c5m4L4^275f0q0-3S0M5Q5s5K4/150,4?4E5S4}365l5D5T100O15020l0#0g5%5!5k040b5x2?5A3|5f5O4E065R605Z5d014:042N590f5z5Y5E4j5G5_5~606c27650n1(5X2 625j3G5$6b5(015*04020T5.5:635v5?5x0m5I316u5|5P615Q6i5U660;0p696B6q3u5G6G6L6N6u6k0^0n5`4a6K6g6M6p3t65676S6a6o6O6r5?3S064p6/4;0n6n4(6u4`3y6)364 040Z0R0f0o0=0T6(5J5;5e155h7h6C150U3w0n6S1C7m6V5C6t7i6W6E5y761@7w6@6u6D5@5H7C7j045N6Z6.5u7o7q7s0N7a7c0#0Z1B6U3t6w0P7!5B150+0D7O6^64150H3X7(5F6`7x630O746f7F7y6D7p1:7s7K016+2 5 6-7.6D0k7?4a7$8d5#045153551r585a7g6I7y5f7l8q7n7^8u7v155q7_6V7H5^6?728r8z8g5=7I6Y7u5o150q7O6h7G7R820f0$7U7b7d7Y7t8x7#150d846D0m0Q0Q2b0r848s8+158c8N7)7M7-6#156;6T8B3O8U7r8W8Y7W8#3$0c4+4$4M9d0c4P1D0#4R9i2!2V0m1/9f4P1J4-6V2N0w0N0H0m0X540!0t151v1x1z1B0M5}311Q3g1K0)0m0M7;0h2P0,1m5s9c8i0,520#54568n5b9b4W3y1B0#2g1r2F7Y0M0r000p2*0M0$210p2P6S1;4V0h1T2I2*0l1:0E0M0m0U2O0M210O0,0_0R0}8*9M9s9P9R1m9U9W4*9,7V7d0m7f1D9Y2g0h9}0f0p2H0M9`1;1(9}1;0U0,2K1z006l1:0M0Z9$a40M2j0fab0R0R1a0p0|2I0d0M0j1n0m6S0?9/0Q0p9R0?2NaI9{aL9$0M2b9:2|0Z0!2b2G9WacaeaU9c9J1O3g2.3t1_1%1)1+9t3t2t2b2d152z0%7b139/0y0k241m4)4#9t304(9Y7.654=84745s8`4378aw7e8p8G638?bO6d0481958$bU8y048A7~8v7I7}b%8Ob)8J6_8L6Hb/8{7N6,6!7y6:6R91b+b(0+8@9Z9#9%8m2H8o8=7kc5b^3q7.7E3f7P7@b-8Fcg6J8I927Q7A8M8%b`b=7/047;0fcx7Hcx7{5Vcn2TckbYb!83bX5L157,5~aA9,9e2U9r1M04a/aba=aHa^9|1;2j0~0na#2K7b7Ya#0|aq9T2I9X9,8j9$8l57ca9*9Yaa1caiaf0fac0?a8c,abad0R9@9I2t219I0;a}9|0#0kaU9Sas0ha7b19}a}1;0i1m9{2|0m129Ham1R0/0;d8aj3|0r2k7f0f153D1a1x1f0ed67p0@dbaedga|0C0M0%dmdoara66l0Md$0u3X0_2|0O0Td61b1;0ra_0K0v0*2RdR1H9NcY1n8/1kdbaha#a;0~0,dkbdbadd9`dldn1;dpd,0lbf1S1Ubi1)1{1*2o7ybp2v2xbtbv0Qbxbz0!bB4LbD3%bFcgbH8~04bKcN1@bM8+bQ8ZbScc5gc5cL8WeZb*cj8a6ecHbn8{e)3qcJ8hb@eZb{878S7 7:0@dhcE157%cr3|650|0w0idLcC6scv5{159Ke*8Tc68k9(c bTco8He!eSb?e(fa7Ab.fnbVcqc293ctcf2Tch8P8}b~8 c0e-e=3k0i50ai0#eZ8tb_43fN041c0QfRc5d!fmfDcpb;f3cK7Se%fq858P8QcR9+4,cU4O4Z9sau4,f#cS4,dt9/aJc?dq0M1zee2E6Sd6aHec2G0M7da|0r0Z290h0,c)1deq4Y2/3|bjevbm7.ezbr2yd%eDeFbAe-1M4N9L31eOfHeQ70bL4{f.0h78f~f.bWfcbYfCe.fd7Mff4oe{63b 68fKe+fic|fk599*gVcOfpg=8Kfsf*e?8Eg`fzcse@gTfFf=bH1Q4N9gf`cX0)a21maE9 9$6Sc_c.gseublexg(501qf80m4)f?4$aZc,2w9/2Kgigk0,a#g3en9Va:2^0h0k2waa0RaSdua!7;d41k2a9:2waZ1d1q0BdhhY0~0Z0M0(dvc!h$hG1ma-0.0b1w571;0x9W0h009Q570p0_0i1Bah2J1;2^d`a#0n0bc~0R532w0h9/f|4$gS9Y0qbeangqet1`hmgY4agx2wbsgA0fbw2AeGeI31eKgHbGcTePeRg^10eUgPeW7Wayf$itg?fSfw8C94cMiLf/f)g clg}h2i$fge|fBe^g#3Cg%6Vg)6=cCfVa fZgPfVfXi|i!f5hqf9g{g_i*i:75fhc{c8c~g:iSfEg@fTgWg~i,b,i)i!cie;g,h1jo8Pe:cIg,e$b$iWb:0qf;87f 9feKh80U3g9gdH0@0$jK0:0=jNbges3V0m0r0w1m2HhH0Mdx0hi0dP1M3tjWjYgl2I0C120#1 040K1mi0gp1K2B2D2Fdag3ad8Wj#b2hUaL2kg2a~fP1;b24V1r0fb5b7hHdEjP4Z.