<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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:"Calibri Light";
panose-1:2 15 3 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;
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
h2
{mso-style-priority:9;
mso-style-link:"Heading 2 Char";
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:18.0pt;
font-family:"Calibri",sans-serif;
font-weight:bold;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.Heading2Char
{mso-style-name:"Heading 2 Char";
mso-style-priority:9;
mso-style-link:"Heading 2";
font-family:"Calibri Light",sans-serif;
color:#2F5496;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle22
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1834947257;
mso-list-type:hybrid;
mso-list-template-ids:1825707904 -1052064264 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:Calibri;
color:windowtext;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></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]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Antoine,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">One workflow that works fast for me, for large data files, is to load first the whole file with mgetl, then remove all empty lines using isempty in a loop (as shown below), process the header block, isolate the data block and save it to
a temporary backup file to disk using mputl, then load very efficiently from disk that backup file using fscanfMat.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">tlines</span><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:#32B9B9">mgetl</span><span style="color:#4A55DB">(</span><span style="color:black">fid,</span><span style="color:#5C5C5C">-</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span>
<i><span style="color:#64AE64">// reads lines until end of file into 1 column text vector</span></i><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">bool</span><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:#5C5C5C">~</span><span style="color:black">cellfun</span><span style="color:#4A55DB">(</span><span style="color:black">isempty,tlines</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">tlines</span><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:black">tlines</span><span style="color:#4A55DB">(</span><span style="color:black">bool</span><span style="color:#4A55DB">)</span><span style="color:black">;</span>
<i><span style="color:#64AE64">// removes empty lines</span></i><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#B01813">function</span><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<b><span style="color:#834310">out_text</span></b><span style="color:#5C5C5C">=</span><u><span style="color:black">cellfun</span></u><span style="color:#4A55DB">(</span><b><span style="color:#834310">fun</span></b><span style="color:black">,
</span><b><span style="color:#834310">in_text</span></b><span style="color:#4A55DB">)</span><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#64AE64">// Applies function to input text (column strings vector), line by line</span></i><span style="font-size:9.0pt;font-family:"Monospaced",serif"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:black">n</span><span style="color:#5C5C5C">=</span><span style="color:#32B9B9">size</span><span style="color:#4A55DB">(</span><b><span style="color:#834310">in_text</span></b><span style="color:black">,</span><span style="color:rosybrown">1</span><span style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:#A020F0">for</span> <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:black">n;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<b><span style="color:#834310">out_text</span></b><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#4A55DB">)</span><span style="color:#5C5C5C">=</span><b><span style="color:#834310">fun</span></b><span style="color:#4A55DB">(</span><b><span style="color:#834310">in_text</span></b><span style="color:#4A55DB">(</span><span style="color:black">i</span><span style="color:#4A55DB">))</span><span style="color:black">;</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif">
<span style="color:#A020F0">end</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Monospaced",serif;color:#B01813">endfunction</span><span style="font-size:9.0pt;font-family:"Monospaced",serif"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="PT">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="PT">Rafael<o:p></o:p></span></p>
</div>
</body>
</html>