<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426</link>
    <title>MATLAB Central Newsreader - -extract 120X9 matrix from 1000X9 matrix randomly</title>
    <description>Feed for thread: -extract 120X9 matrix from 1000X9 matrix randomly</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, 09 Feb 2010 16:04:04 -0500</pubDate>
      <title>-extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715383</link>
      <author>muk </author>
      <description>Hello all,&lt;br&gt;
&lt;br&gt;
Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
How can i do that?&lt;br&gt;
&lt;br&gt;
Sincerely, </description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 16:35:19 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715392</link>
      <author>Oleg Komarov</author>
      <description>&quot;muk &quot; wrote in message &lt;br&gt;
&amp;gt; Hello all,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&amp;gt; How can i do that?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Sincerely, &lt;br&gt;
&lt;br&gt;
help rand&lt;br&gt;
&lt;br&gt;
Example:&lt;br&gt;
A = rand(1000,9);&lt;br&gt;
&lt;br&gt;
rows = ceil(120*rand(120,1));&lt;br&gt;
cols =  ceil(9*rand(9,1));&lt;br&gt;
&lt;br&gt;
randMat = A(rows,cols);&lt;br&gt;
&lt;br&gt;
Oleg</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 16:35:38 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715393</link>
      <author>Walter Roberson</author>
      <description>muk wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to &lt;br&gt;
&amp;gt; extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&amp;gt; How can i do that?&lt;br&gt;
&lt;br&gt;
randperm(1000) and take the first 120 output values.</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 16:38:04 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715395</link>
      <author>Cygnine </author>
      <description>&quot;muk &quot; &amp;lt;hungocan@hotmail.com&amp;gt; wrote in message &lt;br&gt;
&amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&lt;br&gt;
Do you mean:&lt;br&gt;
a.) You want to randomly choose a 120x9 BLOCK from the bigger matrix, or&lt;br&gt;
b.) You want to randomly choose 120*9 = 1080 elements from the big matrix?&lt;br&gt;
&lt;br&gt;
For a:&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; big_matrix = ones([1000 9]); % or whatever data&lt;br&gt;
&amp;gt;&amp;gt; starting_row = ceil(881*rand);&lt;br&gt;
&amp;gt;&amp;gt; ending_row = starting_row + 119;&lt;br&gt;
&amp;gt;&amp;gt; small_matrix = big_matrix(starting_row:ending_row,:);&lt;br&gt;
&lt;br&gt;
For b:&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; big_matrix = ones([1000 9]);&lt;br&gt;
&amp;gt;&amp;gt; small_matrix = reshape(big_matrix(ceil(1000*rand([1080 1]))), [120 9]);&lt;br&gt;
&lt;br&gt;
You should of course worry about seeding the random number generator. </description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 16:45:05 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715400</link>
      <author>Cygnine </author>
      <description>&quot;Cygnine &quot; &amp;lt;cygnine@remove.this.gmail.com&amp;gt; wrote in message &lt;br&gt;
&amp;gt; Lots of stuff&lt;br&gt;
&lt;br&gt;
Sorry, I realized I made a mistake, part b should be&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; small_matrix = reshape(big_matrix(ceil(9000*rand([1080 1]))), [120 9]);&lt;br&gt;
&lt;br&gt;
And the other answers provided seem as good, if not simpler.</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 16:45:05 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715401</link>
      <author>ade77 </author>
      <description>&quot;muk &quot; &amp;lt;hungocan@hotmail.com&amp;gt; wrote in message &amp;lt;hks11k$ti$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hello all,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&amp;gt; How can i do that?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Sincerely, &lt;br&gt;
&lt;br&gt;
Like Walter suggested, randperm seems to be your easiest way.&lt;br&gt;
&lt;br&gt;
your_matrix = 1000 by 9&lt;br&gt;
h = randperm(1000);&lt;br&gt;
g = h(1:120);&lt;br&gt;
rand_array = your_matrix(g,:);</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 17:23:04 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715411</link>
      <author>us</author>
      <description>&quot;muk &quot; &amp;lt;hungocan@hotmail.com&amp;gt; wrote in message &amp;lt;hks11k$ti$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hello all,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&amp;gt; How can i do that?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Sincerely, &lt;br&gt;
&lt;br&gt;
as others have said: it is not quite clear what you mean by a randomly selected submatrix...&lt;br&gt;
assuming you want to carve out a randomly selected sub-block from your main mat,...&lt;br&gt;
&lt;br&gt;
one of the solutions&lt;br&gt;
&lt;br&gt;
% the data&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m=ceil(10*rand(5,4));     % &amp;lt;- main mat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sr=2;     % &amp;lt;- #rows of submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sc=3;     % &amp;lt;- #cols of submat&lt;br&gt;
% the engine&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[nr,nc]=size(m);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[x,y]=meshgrid(1:nr:sc*nr,0:sr-1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seg=x+y;     % &amp;lt;- SEG: indices into block at top/left&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;off=nr*(nc-sc+1)-sr;     % &amp;lt;- OFF: max movement of SEG&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;roff=ceil(off*rand);     % &amp;lt;- select random OFF&lt;br&gt;
% the result&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+0));     % &amp;lt;- top/left submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+off));     % &amp;lt;- last possible submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(roff);     % &amp;lt;- random SEG&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+roff));     % &amp;lt;- randomly selected submat&lt;br&gt;
%{&lt;br&gt;
% the mat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2     2     6     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     1     9     2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6     5     1     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1     9    10     1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1     7     2     8&lt;br&gt;
% top/left&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2     2     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     1     9&lt;br&gt;
% last possible block given SR/SC&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9    10     1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     2     8&lt;br&gt;
% random OFF&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;br&gt;
% submat at random OFF&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5     1     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9    10     1&lt;br&gt;
%}&lt;br&gt;
&lt;br&gt;
us</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 17:32:04 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715415</link>
      <author>us</author>
      <description>&quot;us &quot;&lt;br&gt;
...slight modification to the random OFF generator, which must be ]0:OFF[&lt;br&gt;
&lt;br&gt;
% the data&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m=ceil(10*rand(5,4));     % &amp;lt;- main mat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sr=2;     % &amp;lt;- #rows of submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sc=3;     % &amp;lt;- #cols of submat&lt;br&gt;
% the engine&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[nr,nc]=size(m);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[x,y]=meshgrid(1:nr:sc*nr,0:sr-1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seg=x+y;     % &amp;lt;- SEG: indices into block at top/left&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;off=nr*(nc-sc+1)-sr;     % &amp;lt;- OFF: max movement of SEG&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;roff=ceil((off+1)*rand)-1;     % &amp;lt;- select random OFF&lt;br&gt;
% the result&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+0));     % &amp;lt;- top/left submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+off));     % &amp;lt;- last possible submat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(roff);     % &amp;lt;- random SEG&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(m(seg+roff));     % &amp;lt;- randomly selected submat&lt;br&gt;
%{&lt;br&gt;
% the mat&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2     2     6     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     1     9     2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6     5     1     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1     9    10     1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1     7     2     8&lt;br&gt;
% top/left: OFF = 0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2     2     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     1     9&lt;br&gt;
% last possible block given SR/SC&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9    10     1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7     2     8&lt;br&gt;
% random OFF ]0:OFF[&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;br&gt;
% submat at random OFF&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5     1     6&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9    10     1&lt;br&gt;
%}&lt;br&gt;
&lt;br&gt;
us</description>
    </item>
    <item>
      <pubDate>Tue, 09 Feb 2010 19:05:21 -0500</pubDate>
      <title>Re: -extract 120X9 matrix from 1000X9 matrix randomly</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/272426#715458</link>
      <author>muk </author>
      <description>&quot;ade77 &quot; &amp;lt;ade100a@gmail.com&amp;gt; wrote in message &amp;lt;hks3eh$46u$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;muk &quot; &amp;lt;hungocan@hotmail.com&amp;gt; wrote in message &amp;lt;hks11k$ti$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Hello all,&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Now, i have 1000X9 matrix which is quality parameters. And, i want to extract 120X9 matris randomly from 1000x9 matrix.&lt;br&gt;
&amp;gt; &amp;gt; How can i do that?&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Sincerely, &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Like Walter suggested, randperm seems to be your easiest way.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; your_matrix = 1000 by 9&lt;br&gt;
&amp;gt; h = randperm(1000);&lt;br&gt;
&amp;gt; g = h(1:120);&lt;br&gt;
&amp;gt; rand_array = your_matrix(g,:);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Thank you Everyone!&lt;br&gt;
&lt;br&gt;
That is the best choice and fast choice. There are many view to solve this problem. &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;gt; your_matrix = 1000 by 9&lt;br&gt;
&amp;gt; h = randperm(1000);&lt;br&gt;
&amp;gt; g = h(1:120);&lt;br&gt;
&amp;gt; rand_array = your_matrix(g,:);&lt;br&gt;
&lt;br&gt;
That is choice which is independent in data. May be, distributions of data may be important. But, there is not a problem. So, as i said ,this is the best choice, and clever choice. &lt;br&gt;
&lt;br&gt;
Thank you all thank you &quot;ade77&quot;  my friend.</description>
    </item>
  </channel>
</rss>

