<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Hi</p>
<p>For real life signals you should rather use something like this
(Savitsky-Golay filters)<br>
</p>
<p><a class="moz-txt-link-freetext" href="https://codereview.scilab.org/#/c/21499/">https://codereview.scilab.org/#/c/21499/</a></p>
<p>S.</p>
<div class="moz-cite-prefix">Le 16/03/2021 à 17:09, CHEZE David
227480 a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:C1165F01A4B61C48AF8B97D1C4AB348B9D3869B5@EXDAG0-B2.intra.cea.fr">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}@font-face
{font-family:Monospaced;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}pre
{mso-style-priority:99;
mso-style-link:"Préformaté HTML Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}span.PrformatHTMLCar
{mso-style-name:"Préformaté HTML Car";
mso-style-priority:99;
mso-style-link:"Préformaté HTML";
font-family:Consolas;}p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}span.EmailStyle21
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}p.HTMLPreformatted, li.HTMLPreformatted, div.HTMLPreformatted
{mso-style-name:"HTML Preformatted";
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}span.EmailStyle24
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US">Hi Clément,<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB">Thank you for your quick reply and solution !
Actually it’s working for simple data but with noisy
experimental timeseries, some filtering is required to get
perfect regular signal (between the ‘true’ extrema) that
could be then managed by the routine. I suppose this is
something the Matlab/Octave is handling internally, with
some parameters as function’s argument to tune it, maybe
it’s not the case .<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB">David<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="color:#1F497D;mso-fareast-language:EN-US"
lang="EN-GB"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>De :</b> users
<a class="moz-txt-link-rfc2396E" href="mailto:users-bounces@lists.scilab.org"><users-bounces@lists.scilab.org></a> <b>De la part de</b>
Clément David<br>
<b>Envoyé :</b> mardi 16 mars 2021 16:27<br>
<b>À :</b> Users mailing list for Scilab
<a class="moz-txt-link-rfc2396E" href="mailto:users@lists.scilab.org"><users@lists.scilab.org></a><br>
<b>Objet :</b> Re: [Scilab-users] find and locate local
maxima<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hello David,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">After reading the Matlab
documentation page, it seems pretty simple to implement
using Scilab : and $ symbols:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:#B01813"
lang="EN-US">function</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<span style="color:#4A55DB">[</span><b><span
style="color:#834310">pks</span></b><span
style="color:black">,
</span><b><span style="color:#834310">locs</span></b><span
style="color:#4A55DB">]</span><span style="color:#5C5C5C">=</span><u><span
style="color:black">findpeaks</span></u><span
style="color:#4A55DB">(</span><b><span
style="color:#834310">data</span></b><span
style="color:#4A55DB">)</span><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<span style="color:black">ii</span> <span
style="color:#5C5C5C">=</span> <span
style="color:#32B9B9">
find</span><span style="color:#4A55DB">(</span><span
style="color:black">d</span><span style="color:#4A55DB">(</span><span
style="color:rosybrown">1</span><span
style="color:#FFAA00">:$</span><span style="color:#5C5C5C">-</span><span
style="color:rosybrown">2</span><span
style="color:#4A55DB">)</span>
<span style="color:#5C5C5C"><</span> <span
style="color:black">d</span><span style="color:#4A55DB">(</span><span
style="color:rosybrown">2</span><span
style="color:#FFAA00">:$</span><span style="color:#5C5C5C">-</span><span
style="color:rosybrown">1</span><span
style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">&</span> <span
style="color:black">d</span><span style="color:#4A55DB">(</span><span
style="color:rosybrown">2</span><span
style="color:#FFAA00">:$</span><span style="color:#5C5C5C">-</span><span
style="color:rosybrown">1</span><span
style="color:#4A55DB">)</span>
<span style="color:#5C5C5C">>=</span> <span
style="color:black">d</span><span style="color:#4A55DB">(</span><span
style="color:rosybrown">3</span><span
style="color:#FFAA00">:$</span><span style="color:#4A55DB">))</span><span
style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<b><span style="color:#834310">pks</span></b> <span
style="color:#5C5C5C">=</span>
<b><span style="color:#834310">data</span></b><span
style="color:#4A55DB">(</span><span style="color:black">ii</span><span
style="color:#5C5C5C">+</span><span
style="color:rosybrown">2</span><span
style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<b><span style="color:#834310">locs</span></b> <span
style="color:#5C5C5C">=</span>
<span style="color:black">ii</span> <span
style="color:#5C5C5C">+</span> <span
style="color:rosybrown">
2</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:#B01813"
lang="EN-US">endfunction</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US">data</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<span style="color:#5C5C5C">=</span> <span
style="color:#4A55DB">[</span><span
style="color:rosybrown">25</span>
<span style="color:rosybrown">8</span> <span
style="color:rosybrown">15</span> <span
style="color:rosybrown">
5</span> <span style="color:rosybrown">6</span> <span
style="color:rosybrown">10</span>
<span style="color:rosybrown">10</span> <span
style="color:rosybrown">3</span> <span
style="color:rosybrown">
1</span> <span style="color:rosybrown">20</span> <span
style="color:rosybrown">7</span><span
style="color:#4A55DB">]</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><u><span
style="font-size:11.5pt;font-family:Monospaced;color:#AE5CB0"
lang="EN-US">plot</span></u><span
style="font-size:11.5pt;font-family:Monospaced;color:#4A55DB"
lang="EN-US">(</span><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US">data</span><span
style="font-size:11.5pt;font-family:Monospaced;color:#4A55DB"
lang="EN-US">)</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:#4A55DB"
lang="EN-US">[</span><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US">pks,locs</span><span
style="font-size:11.5pt;font-family:Monospaced;color:#4A55DB"
lang="EN-US">]</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<span style="color:#5C5C5C">=</span> <u><span
style="color:#AE5CB0">findpeaks</span></u><span
style="color:#4A55DB">(</span><span style="color:black">data</span><span
style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><u><span
style="font-size:11.5pt;font-family:Monospaced;color:#AE5CB0"
lang="EN-US">plot</span></u><span
style="font-size:11.5pt;font-family:Monospaced;color:#4A55DB"
lang="EN-US">(</span><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US">locs,</span><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">
<span style="color:black">pks,</span> <span
style="color:rosybrown">'xr'</span><span
style="color:#4A55DB">)</span><span style="color:black">;<o:p></o:p></span></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US">Note: using oct2py and pims might also be an
option for simple cases but these wrappers are complex to
use and data need to be copied at language boundaries.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced;color:black"
lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.5pt;font-family:Monospaced" lang="EN-US">Clément</span><span
lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span
lang="EN-US"> users <<a
href="mailto:users-bounces@lists.scilab.org"
moz-do-not-send="true">users-bounces@lists.scilab.org</a>>
<b>On Behalf Of </b>CHEZE David 227480<br>
<b>Sent:</b> Tuesday, March 16, 2021 2:53 PM<br>
<b>To:</b> Users mailing list for Scilab <<a
href="mailto:users@lists.scilab.org"
moz-do-not-send="true">users@lists.scilab.org</a>><br>
<b>Subject:</b> [Scilab-users] find and locate local
maxima<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-GB">I’m looking for function
that could find and locate every local maxima of any
discrete time signal (timeseries), similar to Matlab or
Octave function findpeaks(), scipy find_peaks(). Is anyone
aware if something similar is already available in Scilab ?
(I already browsed a little bit and it don’t seem so…)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">If not in Scilab macros,
any hint to use the Octave or scipy function directly from
Scilab?
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">More globally it seems
that Octave Forge could be linked with Python (from oct2py
import octave<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"># Load the Octage-Forge
signal package.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">octave.eval("pkg load
signal")), does someone ever tried to bridge similarly in
Scilab ? oct2sci<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Kind regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif"
lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif">David
</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users">https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a>
</pre>
</body>
</html>