<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/258826</link>
    <title>MATLAB Central Newsreader - Dataset find and replace problem</title>
    <description>Feed for thread: Dataset find and replace problem</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by 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>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 18 Aug 2009 22:50:17 -0400</pubDate>
      <title>Dataset find and replace problem</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/258826#674095</link>
      <author>Bruce Ferguson</author>
      <description>I have a dataset array named &quot;sortBA&quot; with three columns and lots of rows (500K+).&lt;br&gt;
&lt;br&gt;
I have shown the first twenty rows below:&lt;br&gt;
&lt;br&gt;
disp(sortBA(1:20,{'timemilli','cmeB','cmeA'}))&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timemilli        cmeB      cmeA  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146199971    1.3986    1.3989&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146199981         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200001         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200043         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200044         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200049         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200056         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200061         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200081         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200091         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200145    1.3986    1.3989&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200188         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200215         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200229         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200250    1.3986    1.3989&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200266    1.3987     1.399&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200290         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200299    1.3987    1.3989&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200302         0         0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1247146200303    1.3986     1.399&lt;br&gt;
&lt;br&gt;
I need to do a form of &quot;sample and hold&quot; in engineering terms. I want to see if a cell of column &quot;cmeB&quot; or a cell of column  &quot;cmeA&quot; contains a zero.  If it contains a zero I want to replace the zero with the most recent previous nonzero cells value in that column and continue down the rows until I reach the length of the variable &quot;sortBA&quot;.  &lt;br&gt;
&lt;br&gt;
I have tried everything I can find to do this without luck.&lt;br&gt;
&lt;br&gt;
Any help will be greatly appreciated....</description>
    </item>
    <item>
      <pubDate>Tue, 18 Aug 2009 23:17:08 -0400</pubDate>
      <title>Re: Dataset find and replace problem</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/258826#674103</link>
      <author>us</author>
      <description>&quot;Bruce Ferguson&quot; &amp;lt;bferguson1@penson.com&amp;gt; wrote in message &amp;lt;h6fb79$dpn$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; I have a dataset array named &quot;sortBA&quot; with three columns and lots of rows (500K+).&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have shown the first twenty rows below:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; disp(sortBA(1:20,{'timemilli','cmeB','cmeA'}))&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;     timemilli        cmeB      cmeA  &lt;br&gt;
&amp;gt;     1247146199971    1.3986    1.3989&lt;br&gt;
&amp;gt;     1247146199981         0         0&lt;br&gt;
&amp;gt;     1247146200001         0         0&lt;br&gt;
&amp;gt;     1247146200043         0         0&lt;br&gt;
&amp;gt;     1247146200044         0         0&lt;br&gt;
&amp;gt;     1247146200049         0         0&lt;br&gt;
&amp;gt;     1247146200056         0         0&lt;br&gt;
&amp;gt;     1247146200061         0         0&lt;br&gt;
&amp;gt;     1247146200081         0         0&lt;br&gt;
&amp;gt;     1247146200091         0         0&lt;br&gt;
&amp;gt;     1247146200145    1.3986    1.3989&lt;br&gt;
&amp;gt;     1247146200188         0         0&lt;br&gt;
&amp;gt;     1247146200215         0         0&lt;br&gt;
&amp;gt;     1247146200229         0         0&lt;br&gt;
&amp;gt;     1247146200250    1.3986    1.3989&lt;br&gt;
&amp;gt;     1247146200266    1.3987     1.399&lt;br&gt;
&amp;gt;     1247146200290         0         0&lt;br&gt;
&amp;gt;     1247146200299    1.3987    1.3989&lt;br&gt;
&amp;gt;     1247146200302         0         0&lt;br&gt;
&amp;gt;     1247146200303    1.3986     1.399&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I need to do a form of &quot;sample and hold&quot; in engineering terms. I want to see if a cell of column &quot;cmeB&quot; or a cell of column  &quot;cmeA&quot; contains a zero.  If it contains a zero I want to replace the zero with the most recent previous nonzero cells value in that column and continue down the rows until I reach the length of the variable &quot;sortBA&quot;.  &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have tried everything I can find to do this without luck.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Any help will be greatly appreciated....&lt;br&gt;
&lt;br&gt;
one of the many solutions is outlined below&lt;br&gt;
&lt;br&gt;
% the data&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m=[&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.8&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;];&lt;br&gt;
% the engine&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ms=cumsum(m~=0);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;md=m(m~=0);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r=md(ms);&lt;br&gt;
% the result&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(r);&lt;br&gt;
%{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.8&lt;br&gt;
%}&lt;br&gt;
&lt;br&gt;
us</description>
    </item>
    <item>
      <pubDate>Fri, 06 Nov 2009 18:04:02 -0500</pubDate>
      <title>Re: Dataset find and replace problem</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/258826#692736</link>
      <author>setijioon junam</author>
      <description>&quot;us &quot; &amp;lt;us@neurol.unizh.ch&amp;gt; wrote in message &amp;lt;h6fcpk$rm2$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Bruce Ferguson&quot; &amp;lt;bferguson1@penson.com&amp;gt; wrote in message &amp;lt;h6fb79$dpn$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; I have a dataset array named &quot;sortBA&quot; with three columns and lots of rows (500K+).&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I have shown the first twenty rows below:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; disp(sortBA(1:20,{'timemilli','cmeB','cmeA'}))&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     timemilli        cmeB      cmeA  &lt;br&gt;
&amp;gt; &amp;gt;     1247146199971    1.3986    1.3989&lt;br&gt;
&amp;gt; &amp;gt;     1247146199981         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200001         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200043         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200044         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200049         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200056         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200061         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200081         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200091         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200145    1.3986    1.3989&lt;br&gt;
&amp;gt; &amp;gt;     1247146200188         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200215         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200229         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200250    1.3986    1.3989&lt;br&gt;
&amp;gt; &amp;gt;     1247146200266    1.3987     1.399&lt;br&gt;
&amp;gt; &amp;gt;     1247146200290         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200299    1.3987    1.3989&lt;br&gt;
&amp;gt; &amp;gt;     1247146200302         0         0&lt;br&gt;
&amp;gt; &amp;gt;     1247146200303    1.3986     1.399&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I need to do a form of &quot;sample and hold&quot; in engineering terms. I want to see if a cell of column &quot;cmeB&quot; or a cell of column  &quot;cmeA&quot; contains a zero.  If it contains a zero I want to replace the zero with the most recent previous nonzero cells value in that column and continue down the rows until I reach the length of the variable &quot;sortBA&quot;.  &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I have tried everything I can find to do this without luck.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Any help will be greatly appreciated....&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; one of the many solutions is outlined below&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % the data&lt;br&gt;
&amp;gt;      m=[&lt;br&gt;
&amp;gt;           1.2&lt;br&gt;
&amp;gt;           0&lt;br&gt;
&amp;gt;           2.4&lt;br&gt;
&amp;gt;           0&lt;br&gt;
&amp;gt;           0&lt;br&gt;
&amp;gt;           3.6&lt;br&gt;
&amp;gt;           0&lt;br&gt;
&amp;gt;           4.8&lt;br&gt;
&amp;gt;      ];&lt;br&gt;
&amp;gt; % the engine&lt;br&gt;
&amp;gt;      ms=cumsum(m~=0);&lt;br&gt;
&amp;gt;      md=m(m~=0);&lt;br&gt;
&amp;gt;      r=md(ms);&lt;br&gt;
&amp;gt; % the result&lt;br&gt;
&amp;gt;      disp(r);&lt;br&gt;
&amp;gt; %{&lt;br&gt;
&amp;gt;           1.2&lt;br&gt;
&amp;gt;           1.2&lt;br&gt;
&amp;gt;           2.4&lt;br&gt;
&amp;gt;           2.4&lt;br&gt;
&amp;gt;           2.4&lt;br&gt;
&amp;gt;           3.6&lt;br&gt;
&amp;gt;           3.6&lt;br&gt;
&amp;gt;           4.8&lt;br&gt;
&amp;gt; %}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; us&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I think your code( which is really good by the way ) works only on positive data ? is that right ? we should adapt it a bit vectors uncluding negative data ?</description>
    </item>
  </channel>
</rss>

