<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476</link>
    <title>MATLAB Central Newsreader - Forming a new matrix by taking particular elements of an existing matrix</title>
    <description>Feed for thread: Forming a new matrix by taking particular elements of an existing matrix</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2013 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.ch/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Fri, 23 Dec 2011 11:22:09 +0000</pubDate>
      <title>Forming a new matrix by taking particular elements of an existing matrix</title>
      <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476#862104</link>
      <author>Kenan </author>
      <description>Hello to all,&lt;br&gt;
&lt;br&gt;
I have a 6x5 matrix as below:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0     0       0         0      0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0   900   1000   1100     0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0   600   700      800     0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0   300   400      500     0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0   100   150      200     0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0     0       0        0        0&lt;br&gt;
&lt;br&gt;
and I have to take its non-zero elements and form a 12x1 column matrix. Also i want tto take elements of the new matrix to start from the bottom left of the above matrix on. That is,&lt;br&gt;
&lt;br&gt;
100&lt;br&gt;
150&lt;br&gt;
200&lt;br&gt;
300&lt;br&gt;
400&lt;br&gt;
500&lt;br&gt;
...&lt;br&gt;
1100&lt;br&gt;
&lt;br&gt;
How can i do this? All help will be appreciated. Thanks in advance.&lt;br&gt;
Kenan</description>
    </item>
    <item>
      <pubDate>Fri, 23 Dec 2011 13:28:58 +0000</pubDate>
      <title>Re: Forming a new matrix by taking particular elements of an existing</title>
      <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476#862112</link>
      <author>Nasser M. Abbasi</author>
      <description>On 12/23/2011 5:22 AM, Kenan wrote:&lt;br&gt;
&amp;gt; Hello to all,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I have a 6x5 matrix as below:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;       0     0       0         0      0&lt;br&gt;
&amp;gt;       0   900   1000   1100     0&lt;br&gt;
&amp;gt;       0   600   700      800     0&lt;br&gt;
&amp;gt;       0   300   400      500     0&lt;br&gt;
&amp;gt;       0   100   150      200     0&lt;br&gt;
&amp;gt;       0     0       0        0        0&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; and I have to take its non-zero elements and form a 12x1 column matrix. Also i want tto&lt;br&gt;
&amp;gt;take elements of the new matrix to start from the bottom left of the above matrix on. That is,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 100&lt;br&gt;
&amp;gt; 150&lt;br&gt;
&amp;gt; 200&lt;br&gt;
&amp;gt; 300&lt;br&gt;
&amp;gt; 400&lt;br&gt;
&amp;gt; 500&lt;br&gt;
&amp;gt; ...&lt;br&gt;
&amp;gt; 1100&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; How can i do this? All help will be appreciated. Thanks in advance.&lt;br&gt;
&amp;gt; Kenan&lt;br&gt;
&lt;br&gt;
Not sure if I understood the rest of the question. but may be&lt;br&gt;
&lt;br&gt;
EDU&amp;gt;&amp;gt; sort(nonzeros(A))&lt;br&gt;
&lt;br&gt;
ans =&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;100&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;150&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;200&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;300&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;400&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;500&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;600&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;700&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;800&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;900&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1000&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1100&lt;br&gt;
&lt;br&gt;
Where A is your matrix above.&lt;br&gt;
&lt;br&gt;
--Nasser</description>
    </item>
    <item>
      <pubDate>Fri, 23 Dec 2011 19:11:08 +0000</pubDate>
      <title>Re: Forming a new matrix by taking particular elements of an existing matrix</title>
      <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476#862132</link>
      <author>Roger Stafford</author>
      <description>"Kenan" wrote in message &amp;lt;jd1o90$flt$1@newscl01ah.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; and I have to take its non-zero elements and form a 12x1 column matrix. Also i want tto take elements of the new matrix to start from the bottom left of the above matrix on.- - - - - - - - -&lt;br&gt;
&amp;nbsp;&amp;nbsp;Based on your statement "start from the bottom left of the above matrix on" perhaps you mean the following.  With A your original matrix:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;B = reshape(flipud(A).',[],1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;B = B(B~=0);&lt;br&gt;
&lt;br&gt;
Roger Stafford</description>
    </item>
    <item>
      <pubDate>Fri, 23 Dec 2011 22:19:08 +0000</pubDate>
      <title>Re: Forming a new matrix by taking particular elements of an existing matrix</title>
      <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476#862140</link>
      <author>Kenan </author>
      <description>Dear Nasser and Roger, thank you for your answers.&lt;br&gt;
&lt;br&gt;
"Roger Stafford" wrote in message &amp;lt;jd2joc$3uf$1@newscl01ah.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; "Kenan" wrote in message &amp;lt;jd1o90$flt$1@newscl01ah.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; and I have to take its non-zero elements and form a 12x1 column matrix. Also i want tto take elements of the new matrix to start from the bottom left of the above matrix on.- - - - - - - - -&lt;br&gt;
&amp;gt;   Based on your statement "start from the bottom left of the above matrix on" perhaps you mean the following.  With A your original matrix:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;   B = reshape(flipud(A).',[],1);&lt;br&gt;
&amp;gt;   B = B(B~=0);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Roger Stafford&lt;br&gt;
&lt;br&gt;
Yes, that was what i meant exactly. Thank you again.</description>
    </item>
    <item>
      <pubDate>Sun, 25 Dec 2011 00:45:10 +0000</pubDate>
      <title>Re: Forming a new matrix by taking particular elements of an existing matrix</title>
      <link>http://www.mathworks.ch/matlabcentral/newsreader/view_thread/315476#862186</link>
      <author>Matt J </author>
      <description>"Kenan" wrote in message &amp;lt;jd2uos$52o$1@newscl01ah.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;   Based on your statement "start from the bottom left of the above matrix on" perhaps you mean the following.  With A your original matrix:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;   B = reshape(flipud(A).',[],1);&lt;br&gt;
&amp;gt; &amp;gt;   B = B(B~=0);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Roger Stafford&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Yes, that was what i meant exactly. Thank you again.&lt;br&gt;
==============&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
But as a small point of optimization, note that&lt;br&gt;
&lt;br&gt;
B=nonzeros(B)&lt;br&gt;
&lt;br&gt;
is better (more memory-efficient) than&lt;br&gt;
&lt;br&gt;
B = B(B~=0)</description>
    </item>
  </channel>
</rss>
