<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 26/10/2013 11:08, Paul Carrico a
      écrit :<br>
      <blockquote
        cite="mid:001201ced22a$e1e6c5e0$a5b451a0$@carrico@free.fr"
        type="cite"> 
        <div class="WordSection1"><span style="font-family:Monospaced"
            lang="EN-US"><o:p></o:p></span>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:#32B9B9" lang="EN-US">printf</span><span
              style="font-family:Monospaced;color:#4A55DB" lang="EN-US">(</span><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">"Search for duplicates............\n"</span><span
              style="font-family:Monospaced;color:#4A55DB" lang="EN-US">)</span><span
              style="font-family:Monospaced;color:black" lang="EN-US">;</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US"><o:p> </o:p></span></p>
          <p class="MsoNormal"><i><span
                style="font-family:Monospaced;color:#64AE64"
                lang="EN-US">//tic()</span></i><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:#A020F0" lang="EN-US">for</span><span
              style="font-family:Monospaced" lang="EN-US"> <span
                style="color:black">i</span> <span
                style="color:#5C5C5C">=</span> <span
                style="color:rosybrown">1</span> <span
                style="color:#FFAA00">:</span> <span
                style="color:#4A55DB">(</span><span style="color:black">number_of_blocks</span>
              <span style="color:#5C5C5C">+</span> <span
                style="color:black">k</span><span style="color:#4A55DB">)</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <span style="color:#32B9B9">printf</span><span
                style="color:#4A55DB">(</span><span
                style="color:rosybrown">"block ref %d/%d ...\n"</span><span
                style="color:black">,i,</span><span
                style="color:#4A55DB">(</span><span style="color:black">number_of_blocks</span><span
                style="color:#5C5C5C">+</span><span style="color:black">k</span><span
                style="color:#4A55DB">))</span><span style="color:black">;</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <u><span style="color:#AE5CB0">tic</span></u><span
                style="color:#4A55DB">()</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <span style="color:#A020F0">for</span> <span
                style="color:black">j</span> <span
                style="color:#5C5C5C">=</span> <span
                style="color:rosybrown">1</span> <span
                style="color:#FFAA00">:</span> <span
                style="color:#4A55DB">(</span><span style="color:black">number_of_blocks</span>
              <span style="color:#5C5C5C">+</span> <span
                style="color:black">k</span><span style="color:#4A55DB">)</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">        <span style="color:black">s2</span>
              <span style="color:#5C5C5C">=</span> <span
                style="color:rosybrown">"</span><span
                style="color:#FFAA00">...</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">        if (j == i) then , </span><span
              style="font-family:Monospaced;color:#FFAA00" lang="EN-US">...</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">            [nb,loc] = members(splited"</span><span
              style="font-family:Monospaced" lang="EN-US"> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">i</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">",splited"</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">j</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">",
                ""rows"",""shuffle"",""last"") , </span><span
                style="color:#FFAA00">...</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">            splited"</span><span
              style="font-family:Monospaced" lang="EN-US"> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">j</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">"(loc(find(nb >= 2)),:) = []
                , </span><span style="color:#FFAA00">...</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">        else , </span><span
              style="font-family:Monospaced;color:#FFAA00" lang="EN-US">...</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">            [nb,loc] = members(splited"</span><span
              style="font-family:Monospaced" lang="EN-US"> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">i</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">",splited"</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">j</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">", ""rows"",""shuffle"") , </span><span
                style="color:#FFAA00">...</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">            splited"</span><span
              style="font-family:Monospaced" lang="EN-US"> <span
                style="color:#5C5C5C">+</span> <span
                style="color:#32B9B9">string</span><span
                style="color:#4A55DB">(</span><span style="color:black">j</span><span
                style="color:#4A55DB">)</span> <span
                style="color:#5C5C5C">+</span> <span
                style="color:rosybrown">"(loc(find(nb >= 1)),:) = []
                , </span><span style="color:#FFAA00">...</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">        end , </span><span
              style="font-family:Monospaced;color:#FFAA00" lang="EN-US">...</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:rosybrown"
              lang="EN-US">        "</span><span
              style="font-family:Monospaced;color:black" lang="EN-US">;</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">        <span style="color:#32B9B9">execstr</span><span
                style="color:#4A55DB">(</span><span style="color:black">s2</span><span
                style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <span style="color:#A020F0">end</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <span style="color:black">time</span><span
                style="color:#5C5C5C">=</span><u><span
                  style="color:#AE5CB0">toc</span></u><span
                style="color:#4A55DB">()</span><span style="color:black">;</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US">    <span style="color:#32B9B9">printf</span><span
                style="color:#4A55DB">(</span><span
                style="color:rosybrown">"..... time on this loop= %g\n"</span><span
                style="color:black">,time</span><span
                style="color:#4A55DB">)</span><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-family:Monospaced;color:#A020F0" lang="EN-US">end</span><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><i><span
                style="font-family:Monospaced;color:#64AE64"
                lang="EN-US">//time = toc()</span></i><span
              style="font-family:Monospaced" lang="EN-US"><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:Monospaced"
              lang="EN-US"><o:p> </o:p></span></p>
        </div>
      </blockquote>
      <br>
      Removing lines duplicated through permutations may be done without
      members()<br>
      but using the same remark & strategy:<br>
      <br>
      // generating an example<br>
      m = grand(10,2,"uin",0,2)<br>
      <br>
      // for each line, sorting the columns :<br>
      ms = gsort(m,"c","i")<br>
      <br>
      // Then applying unique() row-wise:<br>
      [mu, k] = unique(ms,"r")<br>
      <br>
      // Finally picking the related rows in the original matrix:<br>
      m(k,:)<br>
      <br>
      -->m = grand(10,2,"uin",0,2)<br>
       m  =<br>
          0.    1.  <br>
          2.    2.  <br>
          2.    0.  <br>
          2.    1.  <br>
          1.    1.  <br>
          0.    0.  <br>
          1.    1.  <br>
          1.    2.  <br>
          1.    0.  <br>
          0.    2.  <br>
       <br>
      -->ms = gsort(m,"c","i")<br>
       ms  =<br>
          0.    1.  <br>
          2.    2.  <br>
          0.    2.  <br>
          1.    2.  <br>
          1.    1.  <br>
          0.    0.  <br>
          1.    1.  <br>
          1.    2.  <br>
          0.    1.  <br>
          0.    2.  <br>
       <br>
      -->[mu, k] = unique(ms,"r")<br>
       k  =<br>
          6.  <br>
          9.  <br>
          3.  <br>
          5.  <br>
          8.  <br>
          2.  <br>
      <br>
       mu  =<br>
          0.    0.  <br>
          0.    1.  <br>
          0.    2.  <br>
          1.    1.  <br>
          1.    2.  <br>
          2.    2.  <br>
       <br>
      -->m(k,:)<br>
       ans  =<br>
          0.    0.  <br>
          1.    0.  <br>
          2.    0.  <br>
          1.    1.  <br>
          1.    2.  <br>
          2.    2.  <br>
      <br>
    </div>
  </body>
</html>