<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/247147</link>
    <title>MATLAB Central Newsreader - vector operation, selecting chunks</title>
    <description>Feed for thread: vector operation, selecting chunks</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>Fri, 20 Mar 2009 16:20:17 -0400</pubDate>
      <title>vector operation, selecting chunks</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/247147#636457</link>
      <author>Lorenzo Guerrasio</author>
      <description>Hi guys,&lt;br&gt;
&lt;br&gt;
let say I have vector  v=100x1, and a matrix M Nx2 with the beginning of Nth chunks in the first coulmn and the end of it in the second.&lt;br&gt;
Is there a smart way to have a second vector v2 made of the chunks of vector v (i mean, without for loop)?&lt;br&gt;
&lt;br&gt;
example&lt;br&gt;
v=rand(100,1);&lt;br&gt;
M=[1,4;7,8];&lt;br&gt;
&lt;br&gt;
wished result&lt;br&gt;
&lt;br&gt;
v2= v(1) v(2) v(3) v(4) v(7) v(8)&lt;br&gt;
&lt;br&gt;
thanks in advance</description>
    </item>
    <item>
      <pubDate>Fri, 20 Mar 2009 17:20:18 -0400</pubDate>
      <title>Re: vector operation, selecting chunks</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/247147#636470</link>
      <author>Matt Fig</author>
      <description>One approach using old-school vectorization:&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% Some data:&lt;br&gt;
v=round(rand(100,1)*9);&lt;br&gt;
M=[1,4;7,8;80,93];&lt;br&gt;
&lt;br&gt;
% The engine:&lt;br&gt;
L = size(M,1);&lt;br&gt;
R = cumsum(M(:,2)-M(:,1)+1);&lt;br&gt;
IDX = ones(1,R(end));&lt;br&gt;
IDX(1) = M(1,1);&lt;br&gt;
IDX(1 + R(1:end-1)) = M(2:L,1) - M(1:L-1,2);&lt;br&gt;
v2 = v(cumsum(IDX));&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
uujj$_ed^|aW0eYW[[OuukuCXj[fue_f6[k^du]WXucYWelec^;WbeoWbW|</description>
    </item>
    <item>
      <pubDate>Fri, 20 Mar 2009 17:35:02 -0400</pubDate>
      <title>Re: vector operation, selecting chunks</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/247147#636475</link>
      <author>Lorenzo Guerrasio</author>
      <description>I've so much to learn&lt;br&gt;
thanks a lot&lt;br&gt;
&lt;br&gt;
&quot;Matt Fig&quot; &amp;lt;spamanon@yahoo.com&amp;gt; wrote in message &amp;lt;gq0j8i$if9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; One approach using old-school vectorization:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Some data:&lt;br&gt;
&amp;gt; v=round(rand(100,1)*9);&lt;br&gt;
&amp;gt; M=[1,4;7,8;80,93];&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % The engine:&lt;br&gt;
&amp;gt; L = size(M,1);&lt;br&gt;
&amp;gt; R = cumsum(M(:,2)-M(:,1)+1);&lt;br&gt;
&amp;gt; IDX = ones(1,R(end));&lt;br&gt;
&amp;gt; IDX(1) = M(1,1);&lt;br&gt;
&amp;gt; IDX(1 + R(1:end-1)) = M(2:L,1) - M(1:L-1,2);&lt;br&gt;
&amp;gt; v2 = v(cumsum(IDX));&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; uujj$_ed^|aW0eYW[[OuukuCXj[fue_f6[k^du]WXucYWelec^;WbeoWbW|</description>
    </item>
  </channel>
</rss>

