<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921</link>
    <title>MATLAB Central Newsreader - Suggesting improvements to Matlab</title>
    <description>Feed for thread: Suggesting improvements to Matlab</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>Fri, 03 Aug 2007 17:30:46 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386220</link>
      <author>Oliver Woodford</author>
      <description>&amp;gt; well, fortunately &amp;lt;yair altman&amp;gt; has already solved this &lt;br&gt;
&amp;gt; problem for you...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile"&gt;http://www.mathworks.com/matlabcentral/fileexchange/loadFile&lt;/a&gt;&lt;br&gt;
&amp;gt; .do?objectId=14773&amp;objectType=file&lt;br&gt;
&lt;br&gt;
Now that is handy. I looked on the exchange, though&lt;br&gt;
admittedly not since April! Nice one, Yair, and thanks for&lt;br&gt;
the tip, Us.&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 17:24:56 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386217</link>
      <author>Oliver Woodford</author>
      <description>Clearly I have underestimated MathWorks! Apologies and&lt;br&gt;
thanks, Steve.&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 17:00:56 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386213</link>
      <author>Steven Lord</author>
      <description>&lt;br&gt;
"Oliver Woodford" &amp;lt;o.j.woodford.98@cantab.net&amp;gt; wrote in message &lt;br&gt;
news:f8vib1$sb7$1@fred.mathworks.com...&lt;br&gt;
&amp;gt; Hi all&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I'm sure we all have improvements we'd like to make to&lt;br&gt;
&amp;gt; Matlab - my colleagues and I are forever discussing them. I,&lt;br&gt;
&amp;gt; for one, have no idea how to go about suggesting them to&lt;br&gt;
&amp;gt; MathWorks, but doubt they would be implemented if I did&lt;br&gt;
&amp;gt; anyway. Instead I thought I'd send them here for feedback&lt;br&gt;
&amp;gt; and to gauge support. Others might add their own suggestions&lt;br&gt;
&amp;gt; also. One of the MathWorks team might see them too.&lt;br&gt;
&lt;br&gt;
The best way to send them to us is to use the first link under "Product &lt;br&gt;
Feedback" on the Contact Us page linked at the top of most of the pages on &lt;br&gt;
The MathWorks website:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.mathworks.com/company/aboutus/contact_us/"&gt;http://www.mathworks.com/company/aboutus/contact_us/&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
or, if you're in a country where we have a local office, you can contact &lt;br&gt;
that office.  They'll make sure to enter your suggestions into our &lt;br&gt;
enhancement database.  [Of course, you can both post them here and send them &lt;br&gt;
to us via that form.  You should mention that in your post if you do both &lt;br&gt;
send and post.]&lt;br&gt;
&lt;br&gt;
Sending your enhancement requests to your local office or to our &lt;br&gt;
headquarters here in Natick lets us track how many users request each &lt;br&gt;
feature more consistently than if we simply copy the request off the &lt;br&gt;
newsgroup.&lt;br&gt;
&lt;br&gt;
&amp;gt; Firstly it's important to note that improvements should not&lt;br&gt;
&amp;gt; break any old code - I don't believe these do, as long as&lt;br&gt;
&amp;gt; the code doesn't rely on any errors occurring (which may no&lt;br&gt;
&amp;gt; longer occur due to extended functionality).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Improvements to array operators (+, -, .*, ./):&lt;br&gt;
&amp;gt; Currently you can use these on two matrices of the same&lt;br&gt;
&amp;gt; size, or a matrix and a scalar.&lt;br&gt;
&amp;gt; I would like them to also be valid for a larger set of pairs&lt;br&gt;
&amp;gt; of matrices, which would include any pair of matrices A and&lt;br&gt;
&amp;gt; B where each dimension of A is either the same as the&lt;br&gt;
&amp;gt; respective dimension of the B, or 1.&lt;br&gt;
&amp;gt; This would allow you to combine (using the above operators)&lt;br&gt;
&amp;gt; A and B, where (for example):&lt;br&gt;
&amp;gt; size(A) = [1 3 4 1 1];&lt;br&gt;
&amp;gt; size(B) = [10 3 4 7 2];&lt;br&gt;
&amp;gt; Currently you would do:&lt;br&gt;
&amp;gt; B + repmat(A, [10 1 1 7 2]);&lt;br&gt;
&amp;gt; or use nested for loops.&lt;br&gt;
&amp;gt; The benefit of having this functionality built in is that&lt;br&gt;
&amp;gt; you don't need to waste time and memory replicating data (or&lt;br&gt;
&amp;gt; doing for loops). It would be especially useful when B is&lt;br&gt;
&amp;gt; huge and A is small.&lt;br&gt;
&lt;br&gt;
As Peter mentioned, this is possible with BSXFUN.  If we made the existing &lt;br&gt;
operators behave the same way as BSXFUN did, though, as you note it would be &lt;br&gt;
a backwards incompatibility in that code that depended on (to use your &lt;br&gt;
example) A+B throwing an error would change behavior.&lt;br&gt;
&lt;br&gt;
We do have an entry in our enhancement database to consider a way to have &lt;br&gt;
the functionality of BSXFUN in operator form.&lt;br&gt;
&lt;br&gt;
&amp;gt; Improvement to print():&lt;br&gt;
&amp;gt; Currently print can send a figure to a printer or save it to&lt;br&gt;
&amp;gt; a file. I would like it to also be able to save a figure as&lt;br&gt;
&amp;gt; a bitmap in a Matlab array. This would enable me to do some&lt;br&gt;
&amp;gt; post processing on the figure, without having to reload it&lt;br&gt;
&amp;gt; from disk (slow). It would also allow getframe() to use&lt;br&gt;
&amp;gt; print(), instead of doing its crazy screen grabbing trick&lt;br&gt;
&amp;gt; which causes the current figure to be brought into focus -&lt;br&gt;
&amp;gt; very irritating if you are trying to do something else.&lt;br&gt;
&lt;br&gt;
There's an entry for that in the enhancement database as well.&lt;br&gt;
&lt;br&gt;
&amp;gt; Improvement to size():&lt;br&gt;
&amp;gt; Currently size only returns one or all dimensions. However,&lt;br&gt;
&amp;gt; I may want a subset of dimensions. It would be nice if size did:&lt;br&gt;
&amp;gt; function S = improved_size(A, d)&lt;br&gt;
&amp;gt; S = size(A);&lt;br&gt;
&amp;gt; if nargin &amp;gt; 1&lt;br&gt;
&amp;gt;   S = S(d);&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; return&lt;br&gt;
&amp;gt; This means I can write size(A, [1 2]) and get back the first&lt;br&gt;
&amp;gt; two dimensions only. Clearly I can use the above function&lt;br&gt;
&amp;gt; instead, but why isn't it built in to size()?&lt;br&gt;
&lt;br&gt;
That's also in the enhancement database.&lt;br&gt;
&lt;br&gt;
BTW, your function would need to be slightly tweaked:&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
function thesizes = mysize(A, dims)&lt;br&gt;
% Get the sizes of A&lt;br&gt;
n = size(A);&lt;br&gt;
if nargin &amp;lt; 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;thesizes = n;&lt;br&gt;
&amp;nbsp;&amp;nbsp;return&lt;br&gt;
end&lt;br&gt;
% Preallocate the vector/matrix output&lt;br&gt;
thesizes = ones(size(dims));&lt;br&gt;
% Mask for those elements of dims &amp;gt; ndims(A)&lt;br&gt;
ldA = (n &amp;lt;= numel(thesizes));&lt;br&gt;
% The engine&lt;br&gt;
thesizes(ldA) = n(dims(ldA));&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
If you ask for the size of a matrix in a dimension greater than the number &lt;br&gt;
of dimensions it has, you receive 1.  For instance, size(ones(2, 3), 795) &lt;br&gt;
returns 1.&lt;br&gt;
&lt;br&gt;
&amp;gt; Edit the status bar (right of 'Start' button):&lt;br&gt;
&amp;gt; It would be great to be able to write to the status bar.&lt;br&gt;
&amp;gt; This would allow you to display info on the progress of a&lt;br&gt;
&amp;gt; function without needing a separate figure or waitbar.&lt;br&gt;
&lt;br&gt;
This, too, is in the enhancement database.  Thanks for the good suggestions.&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Steve Lord&lt;br&gt;
slord@mathworks.com &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 16:40:11 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386210</link>
      <author>us</author>
      <description>Oliver Woodford:&lt;br&gt;
&amp;lt;SNIP wants improvements that already exist...&lt;br&gt;
&lt;br&gt;
&amp;gt; Edit the status bar (right of 'Start' button...&lt;br&gt;
&lt;br&gt;
well, fortunately &amp;lt;yair altman&amp;gt; has already solved this &lt;br&gt;
problem for you...&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile"&gt;http://www.mathworks.com/matlabcentral/fileexchange/loadFile&lt;/a&gt;&lt;br&gt;
.do?objectId=14773&amp;objectType=file&lt;br&gt;
&lt;br&gt;
us&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 16:12:10 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386205</link>
      <author>Oliver Woodford</author>
      <description>&amp;gt; The new function bsxfun in MATLAB 7.3 does this.  For your&lt;br&gt;
example:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; bsxfun(@plus, A, B)&lt;br&gt;
&lt;br&gt;
Brilliant!&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 15:50:49 -0400</pubDate>
      <title>Re: Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386201</link>
      <author>Peter Boettcher</author>
      <description>"Oliver Woodford" &amp;lt;o.j.woodford.98@cantab.net&amp;gt; writes:&lt;br&gt;
&lt;br&gt;
&amp;gt; Hi all&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I'm sure we all have improvements we'd like to make to&lt;br&gt;
&amp;gt; Matlab - my colleagues and I are forever discussing them. I,&lt;br&gt;
&amp;gt; for one, have no idea how to go about suggesting them to&lt;br&gt;
&amp;gt; MathWorks, but doubt they would be implemented if I did&lt;br&gt;
&amp;gt; anyway. Instead I thought I'd send them here for feedback&lt;br&gt;
&amp;gt; and to gauge support. Others might add their own suggestions&lt;br&gt;
&amp;gt; also. One of the MathWorks team might see them too.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Firstly it's important to note that improvements should not&lt;br&gt;
&amp;gt; break any old code - I don't believe these do, as long as&lt;br&gt;
&amp;gt; the code doesn't rely on any errors occurring (which may no&lt;br&gt;
&amp;gt; longer occur due to extended functionality).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Improvements to array operators (+, -, .*, ./):&lt;br&gt;
&amp;gt; Currently you can use these on two matrices of the same&lt;br&gt;
&amp;gt; size, or a matrix and a scalar.&lt;br&gt;
&amp;gt; I would like them to also be valid for a larger set of pairs&lt;br&gt;
&amp;gt; of matrices, which would include any pair of matrices A and&lt;br&gt;
&amp;gt; B where each dimension of A is either the same as the&lt;br&gt;
&amp;gt; respective dimension of the B, or 1.&lt;br&gt;
&amp;gt; This would allow you to combine (using the above operators)&lt;br&gt;
&amp;gt; A and B, where (for example):&lt;br&gt;
&amp;gt; size(A) = [1 3 4 1 1];&lt;br&gt;
&amp;gt; size(B) = [10 3 4 7 2];&lt;br&gt;
&amp;gt; Currently you would do:&lt;br&gt;
&amp;gt; B + repmat(A, [10 1 1 7 2]);&lt;br&gt;
&amp;gt; or use nested for loops.&lt;br&gt;
&amp;gt; The benefit of having this functionality built in is that&lt;br&gt;
&amp;gt; you don't need to waste time and memory replicating data (or&lt;br&gt;
&amp;gt;  doing for loops). It would be especially useful when B is&lt;br&gt;
&amp;gt; huge and A is small.&lt;br&gt;
&lt;br&gt;
The new function bsxfun in MATLAB 7.3 does this.  For your example:&lt;br&gt;
&lt;br&gt;
bsxfun(@plus, A, B)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
-Peter&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 03 Aug 2007 15:41:21 -0400</pubDate>
      <title>Suggesting improvements to Matlab</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/153921#386198</link>
      <author>Oliver Woodford</author>
      <description>Hi all&lt;br&gt;
&lt;br&gt;
I'm sure we all have improvements we'd like to make to&lt;br&gt;
Matlab - my colleagues and I are forever discussing them. I,&lt;br&gt;
for one, have no idea how to go about suggesting them to&lt;br&gt;
MathWorks, but doubt they would be implemented if I did&lt;br&gt;
anyway. Instead I thought I'd send them here for feedback&lt;br&gt;
and to gauge support. Others might add their own suggestions&lt;br&gt;
also. One of the MathWorks team might see them too.&lt;br&gt;
&lt;br&gt;
Firstly it's important to note that improvements should not&lt;br&gt;
break any old code - I don't believe these do, as long as&lt;br&gt;
the code doesn't rely on any errors occurring (which may no&lt;br&gt;
longer occur due to extended functionality).&lt;br&gt;
&lt;br&gt;
Improvements to array operators (+, -, .*, ./):&lt;br&gt;
Currently you can use these on two matrices of the same&lt;br&gt;
size, or a matrix and a scalar.&lt;br&gt;
I would like them to also be valid for a larger set of pairs&lt;br&gt;
of matrices, which would include any pair of matrices A and&lt;br&gt;
B where each dimension of A is either the same as the&lt;br&gt;
respective dimension of the B, or 1.&lt;br&gt;
This would allow you to combine (using the above operators)&lt;br&gt;
A and B, where (for example):&lt;br&gt;
size(A) = [1 3 4 1 1];&lt;br&gt;
size(B) = [10 3 4 7 2];&lt;br&gt;
Currently you would do:&lt;br&gt;
B + repmat(A, [10 1 1 7 2]);&lt;br&gt;
or use nested for loops.&lt;br&gt;
The benefit of having this functionality built in is that&lt;br&gt;
you don't need to waste time and memory replicating data (or&lt;br&gt;
&amp;nbsp;doing for loops). It would be especially useful when B is&lt;br&gt;
huge and A is small.&lt;br&gt;
&lt;br&gt;
Improvement to print():&lt;br&gt;
Currently print can send a figure to a printer or save it to&lt;br&gt;
&amp;nbsp;a file. I would like it to also be able to save a figure as&lt;br&gt;
a bitmap in a Matlab array. This would enable me to do some&lt;br&gt;
post processing on the figure, without having to reload it&lt;br&gt;
from disk (slow). It would also allow getframe() to use&lt;br&gt;
print(), instead of doing its crazy screen grabbing trick&lt;br&gt;
which causes the current figure to be brought into focus -&lt;br&gt;
very irritating if you are trying to do something else.&lt;br&gt;
&lt;br&gt;
Improvement to size():&lt;br&gt;
Currently size only returns one or all dimensions. However,&lt;br&gt;
I may want a subset of dimensions. It would be nice if size did:&lt;br&gt;
function S = improved_size(A, d)&lt;br&gt;
S = size(A);&lt;br&gt;
if nargin &amp;gt; 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;S = S(d);&lt;br&gt;
end&lt;br&gt;
return&lt;br&gt;
This means I can write size(A, [1 2]) and get back the first&lt;br&gt;
two dimensions only. Clearly I can use the above function&lt;br&gt;
instead, but why isn't it built in to size()?&lt;br&gt;
&lt;br&gt;
Edit the status bar (right of 'Start' button):&lt;br&gt;
It would be great to be able to write to the status bar.&lt;br&gt;
This would allow you to display info on the progress of a&lt;br&gt;
function without needing a separate figure or waitbar.&lt;br&gt;
&lt;br&gt;
Olly&lt;br&gt;
</description>
    </item>
  </channel>
</rss>
