<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153719</link>
    <title>MATLAB Central Newsreader - reading data from a tex file</title>
    <description>Feed for thread: reading data from a tex file</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2008 by The MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>The MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 31 Jul 2007 15:49:21 -0400</pubDate>
      <title>reading data from a tex file</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153719#385705</link>
      <author>Dimitar Dimitrov</author>
      <description>Hello,&lt;br&gt;
&lt;br&gt;
I have a text file with the following format:&lt;br&gt;
&lt;br&gt;
% J1 J2&lt;br&gt;
1 2&lt;br&gt;
3 4&lt;br&gt;
5 6&lt;br&gt;
7 8&lt;br&gt;
% J1 J2 J3&lt;br&gt;
1 2 3&lt;br&gt;
4 5 6&lt;br&gt;
7 8 9&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
After each % mark, the data has different dimensions.&lt;br&gt;
I want to read this file, and save it in "n" different matrices (for the example above n=2)&lt;br&gt;
&lt;br&gt;
Mat(1).H = [1 2 ; 3 4 ; 5 6 ; 7 8]&lt;br&gt;
Mat(2).H = [1 2 3 ; 4 5 6 ; 7 8 9]&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
Is there a simple way to do that.&lt;br&gt;
Thank you!&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 31 Jul 2007 16:05:06 -0400</pubDate>
      <title>reading data from a tex file</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153719#385708</link>
      <author>us</author>
      <description>Dimitar Dimitrov:&lt;br&gt;
&amp;lt;SNIP yet another data import evergreen...&lt;br&gt;
&lt;br&gt;
one of the solutions is outlined below&lt;br&gt;
&lt;br&gt;
% contents of file &amp;lt;foo.txt&amp;gt;&lt;br&gt;
% J1 J2&lt;br&gt;
1 2&lt;br&gt;
3 4&lt;br&gt;
5 6&lt;br&gt;
7 8&lt;br&gt;
% J1 J2 J3&lt;br&gt;
1 2 3&lt;br&gt;
4 5 6&lt;br&gt;
7 8 9&lt;br&gt;
&lt;br&gt;
% the engine&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fnam=foo.txt';&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a=textread(fnam,'%s','delimiter','','whitespace','');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;an=cell(numel(a),1); &lt;br&gt;
for i=1:numel(a) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[an{i,1:3}]=sscanf(a{i},'%f'); &lt;br&gt;
end &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ixs=[0,cellfun(@isempty,an(:,3)).',0];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ib=strfind(ixs,[0,1]);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ie=strfind(ixs,[1,0])-1;&lt;br&gt;
if   ~isempty(ib)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nb=numel(ib);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rb=cell(nb,1);&lt;br&gt;
for  i=1:nb&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nc=an{ib(i),2};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rb{i,1}=reshape(cat(1,an{ib(i):ie(i),1}).',nc,[]).';&lt;br&gt;
end&lt;br&gt;
end&lt;br&gt;
% the result &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type(fnam);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rb{:}&lt;br&gt;
&lt;br&gt;
us&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 31 Jul 2007 18:02:58 -0400</pubDate>
      <title>reading data from a tex file</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153719#385733</link>
      <author>Dimitar Dimitrov</author>
      <description>"us " &amp;lt;us@neurol.unizh.ch&amp;gt; wrote in message &amp;lt;f8nmji$rcb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Dimitar Dimitrov:&lt;br&gt;
&amp;gt; &amp;lt;SNIP yet another data import evergreen...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; one of the solutions is outlined below&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % contents of file &amp;lt;foo.txt&amp;gt;&lt;br&gt;
&amp;gt; % J1 J2&lt;br&gt;
&amp;gt; 1 2&lt;br&gt;
&amp;gt; 3 4&lt;br&gt;
&amp;gt; 5 6&lt;br&gt;
&amp;gt; 7 8&lt;br&gt;
&amp;gt; % J1 J2 J3&lt;br&gt;
&amp;gt; 1 2 3&lt;br&gt;
&amp;gt; 4 5 6&lt;br&gt;
&amp;gt; 7 8 9&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % the engine&lt;br&gt;
&amp;gt;      fnam=foo.txt';&lt;br&gt;
&amp;gt;      a=textread(fnam,'%s','delimiter','','whitespace','');&lt;br&gt;
&amp;gt;      an=cell(numel(a),1); &lt;br&gt;
&amp;gt; for i=1:numel(a) &lt;br&gt;
&amp;gt;      [an{i,1:3}]=sscanf(a{i},'%f'); &lt;br&gt;
&amp;gt; end &lt;br&gt;
&amp;gt;      ixs=[0,cellfun(@isempty,an(:,3)).',0];&lt;br&gt;
&amp;gt;      ib=strfind(ixs,[0,1]);&lt;br&gt;
&amp;gt;      ie=strfind(ixs,[1,0])-1;&lt;br&gt;
&amp;gt; if   ~isempty(ib)&lt;br&gt;
&amp;gt;      nb=numel(ib);&lt;br&gt;
&amp;gt;      rb=cell(nb,1);&lt;br&gt;
&amp;gt; for  i=1:nb&lt;br&gt;
&amp;gt;      nc=an{ib(i),2};&lt;br&gt;
&amp;gt;      rb{i,1}=reshape(cat(1,an{ib(i):ie(i),1}).',nc,[]).';&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; % the result &lt;br&gt;
&amp;gt;      type(fnam);&lt;br&gt;
&amp;gt;      rb{:}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; us&lt;br&gt;
&lt;br&gt;
"us", &lt;br&gt;
Thank you for the prompt reply!&lt;br&gt;
This solves the problem.&lt;br&gt;
&lt;br&gt;
Dimitar&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
</description>
    </item>
  </channel>
</rss>
