<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>