<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mike on the MATLAB Desktop</title>
	<atom:link href="http://blogs.mathworks.com/desktop/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.mathworks.com/desktop</link>
	<description>Mike works on the MATLAB Desktop team</description>
	<lastBuildDate>Mon, 06 Feb 2012 22:33:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Scoring in Cody</title>
		<link>http://blogs.mathworks.com/desktop/2012/02/06/scoring-in-cody/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/02/06/scoring-in-cody/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 17:09:39 +0000</pubDate>
		<dc:creator>Ned Gulley</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[MATLAB Central]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[cody]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=623</guid>
		<description><![CDATA[As Helen wrote last week, Cody is a new MATLAB-based game that&#8217;s available on MATLAB Central. We&#8217;ve been happily surprised at the amount of activity on Cody. As of Monday morning, 700 people have created 130 problems and provided more than 17,000 correct answers (not to mention a good many incorrect ones). We&#8217;ve gotten a [...]]]></description>
			<content:encoded><![CDATA[<p>As Helen wrote last week, <a href="http://www.mathworks.com/matlabcentral/cody/problems">Cody</a> is a new MATLAB-based game that&#8217;s available on MATLAB Central.</p>
<p>We&#8217;ve been happily surprised at the amount of activity on Cody. As of Monday morning, 700 people have created 130 problems and provided more than 17,000 correct answers (not to mention a good many incorrect ones).</p>
<p>We&#8217;ve gotten a lot of enthusiastic feedback about Cody, which we&#8217;re using to build the next set of features. Naturally, some of that feedback came in the form of complaints, and the loudest of these complaints went something like this (I&#8217;m paraphrasing here):</p>
<blockquote><p>
&#8220;Your scoring system is terrible. Cody promotes bad programming practice by encouraging them to write short, cryptic programs.&#8221;
</p></blockquote>
<p>What&#8217;s this person talking about? Does he have a point?</p>
<p>Let&#8217;s consider how scoring works on Cody. Imagine that you are the official Cody Scorer. People are bringing you dozens of solutions every minute, and they&#8217;re all crowding around you asking <em>&#8220;Is this one good? How is this one?&#8221;</em> It doesn&#8217;t take you very long to tell which answers are correct. But you&#8217;d like to provide more information than that. You&#8217;d like to rank the correct answers somehow. How should you quickly and consistently rank all these answers? Subjective measures like elegance and readability, while appealing, are clearly off the table. If we had an Elegantometer, we would use it. But we don&#8217;t. Should we use cyclomatic complexity? Or the number of Code Analyzer messages? What metric would you use?</p>
<p>We decided on code size as the least bad option. It has a lot going for it. It&#8217;s simple, objective, consistent, and granular. By &#8220;granular,&#8221; we mean that we get a reasonably smooth distribution of code sizes for any given problem, as opposed to two or three giant, uniform clusters. </p>
<p>Now we have another complication. If we agree that code size is worth measuring, how shall we measure it? Lines of code? Bad idea. People will cram everything onto one line. Character count? No, because we don&#8217;t want to punish people for adding comments and giving their variables nice descriptive names. Again, the least bad option we came up with is to measure the size of the code after it&#8217;s been pre-chewed and made ready for digestion by the MATLAB interpreter. We count the number of nodes in the parse tree. How? There&#8217;s already a <a href="http://www.mathworks.com/matlabcentral/cody/problems/256-return-the-size-of-a-string-of-code">Cody problem on this topic</a>. And if you want to see the &#8220;official&#8221; scoring code for yourself, you can find it on the <a href="http://www.mathworks.com/matlabcentral/fileexchange/34754-calculate-size">File Exchange</a>.</p>
<p>Any metric can be gamed. And we know that short code isn&#8217;t always better code, as you can see by looking at any obfuscated programming contest. But <em>code is like medicine</em>. If you can use less of it and still be healthy, you should. Which is to say, other things being equal (say, readability), shorter code generally <em>is</em> better. And size is certainly a useful dimension to refer to when reasoning about large numbers of programs. Here is a picture of 287 solutions to the Nearest Numbers problem. </p>
<p><img src="http://blogs.mathworks.com/desktop/files/cody-answer-map1.png" alt="" title="cody-answer-map" width="607" height="258" class="alignnone size-full wp-image-637" /></p>
<p>The crucial point here is that Cody is just a game. </p>
<p>Over the last week we have learned that this game is good at motivating people to solve real problems, and that even as they scramble to come up with &#8220;winning&#8221; solutions in Cody, they are learning valuable programming practices. And most of all, people seem to be enjoying themselves.</p>
<p>So while some people are telling us that the scoring is bad, others tell us that they are learning a lot. What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/02/06/scoring-in-cody/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Have you taken the Cody Challenge?</title>
		<link>http://blogs.mathworks.com/desktop/2012/01/29/have-you-taken-the-cody-challenge/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/01/29/have-you-taken-the-cody-challenge/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 01:42:11 +0000</pubDate>
		<dc:creator>Helen Chen</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[MATLAB Central]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=618</guid>
		<description><![CDATA[It has been such a such a busy couple of weeks at MATLAB Central! Last week, we launched Trendy, a cool new service that you can use to to plot and track trends from data on public websites. You can read more about Trendy in last week&#8217;s post. Welcome to Cody! This past week, MATLAB [...]]]></description>
			<content:encoded><![CDATA[<p>It has been such a such a busy couple of weeks at MATLAB Central!  Last week, we launched <a title="A MATLAB service for plotting and tracking trends" href="http://www.mathworks.com/matlabcentral/trendy" target="_blank">Trendy</a>, a cool new service that you can use to to plot and track trends from data on public websites.  You can read more about Trendy in <a href="http://blogs.mathworks.com/desktop/2012/01/16/introducing-trendy/">last week&#8217;s post</a>.    </p>
<p><strong>Welcome to Cody!</strong></p>
<p>This past week, MATLAB Central launched <a title="A MATLAB game that challenges and expands your knowledge" href="http://www.mathworks.com/matlabcentral/cody">Cody</a>, an online MATLAB game that challenges your skills and helps you expand your knowledge about MATLAB programming. </p>
<p><img alt="cody1" src="http://blogs.mathworks.com/desktop/files/cody1.jpg" width="450" height="284" /></p>
<p>&nbsp;</p>
<p>When you come to Cody, you will find many different puzzles to try to solve. Browse through available problems from the Cody home page.  Use the links on the left navigation bar to browse through <a title="Community-contributed Cody puzzles" href="http://www.mathworks.com/matlabcentral/cody/?term=group%3A%22Community%22" target="_blank">Community-contributed</a> puzzles or you can choose <a title="Cody Challenge puzzles" href="http://www.mathworks.com/matlabcentral/cody/?term=group%3A%22Cody+Challenge%22" target="_blank">Cody Challenge</a> puzzles.  When you first join the Cody Challenge, you will start with 3 initial puzzles to solve.  Once you have successfully solved these questions, three more questions will be unlocked for you. Note that Community-contributed puzzles are always unlocked so you can jump around and try different puzzles.</p>
<p><strong>Accruing Cody points</strong></p>
<p>You will receive 10 points the first time you submit a correct solution for any problem either Cody Challenge or Community-contributed. Once you have the hang of solving problems, make sure that you try submitting your own puzzle. Each time you do, you will receive 15 points.  </p>
<p>Check out scores by going to the <a title="Cody Players Page" href="http://www.mathworks.com/matlabcentral/cody/players" target="_blank">Player&#8217;s page</a>. Or, check out your own Cody score and history by clicking on My Cody in the left navigation bar.</p>
<p> <img alt="Image" src="http://blogs.mathworks.com/desktop/files/image-153.jpg" width="450" height="283" /></p>
<p><strong>Get started!</strong></p>
<p>Jumping in and joining the fun at Cody is easy.  All you need is to log into <a title="MATLAB Central" href="http://www.mathworks.com/matlabcentral/" target="_blank">MATLAB Central</a>, create your <a title="Create your MATLAB Central community profile" href="http://www.mathworks.com/accesslogin/createProfile.do?uri=/matlabcentral/" target="_blank">Community Profile</a> and just pick a question to try answering. It&#8217;s easy and it&#8217;s fun. Come get started and take the Cody Challenge!</p>
<p>Helen</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/01/29/have-you-taken-the-cody-challenge/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Introducing Trendy!</title>
		<link>http://blogs.mathworks.com/desktop/2012/01/16/introducing-trendy/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/01/16/introducing-trendy/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 19:59:02 +0000</pubDate>
		<dc:creator>Helen Chen</dc:creator>
				<category><![CDATA[MATLAB Central]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[plots]]></category>
		<category><![CDATA[tends]]></category>
		<category><![CDATA[user-generated]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=594</guid>
		<description><![CDATA[MATLAB Central is proud to announce our newest community application &#8211; Trendy a service for tracking and plotting trends. Use Trendy to track data on public webpages by two simple steps: Write MATLAB Code to collect your data. Write MATLAB Code to visualize the collected data as trends and plots. Trendy will collect your data [...]]]></description>
			<content:encoded><![CDATA[<p>MATLAB Central is proud to announce our newest community application &#8211; <a title="Trendy - a service for tracking and plotting trends" href="http://www.mathworks.com/matlabcentral/trendy" target="_blank">Trendy</a> a service for tracking and plotting trends.</p>
<p>Use Trendy to track data on public webpages by two simple steps:</p>
<ol>
<li>Write MATLAB Code to collect your data.</li>
<li>Write MATLAB Code to visualize the collected data as trends and plots.</li>
</ol>
<p>Trendy will collect your data daily and stores it as a trend. Trendy uses your MATLAB code to plot your data, so make sure that you come back to see what your data looks like!</p>
<p><strong>Become a trend-watcher!</strong></p>
<p>It&#8217;s easy and fun to see what trends have been created. Just go to <a title="Trendy - service for tracking and plotting trends" href="http://www.mathworks.com/matlabcentral/trendy">Trendy</a> to check out some plots and trends. If you want to see who are the community trend-makers, click  on <a title="MATLAB Central trend makers" href="http://www.mathworks.com/matlabcentral/trendy/owners">Owners</a> in the left navigation bar.</p>
<p><img alt="Image" src="http://blogs.mathworks.com/desktop/files/image-152.jpg" width="450" height="306" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Getting started creating trends</strong></p>
<p> If a trend that you are interested in hasn&#8217;t been created yet, it&#8217;s easy to make your own. </p>
<p>To use Trendy you need to have either up-to-date SMS or MATLAB Student Version R2010a or higher.  If you do, get started by logging into your MATLAB Central account. </p>
<ul>
<li>Use the <img alt="Image" src="http://blogs.mathworks.com/desktop/files/image-150.jpg" width="90" height="19" /> button to jump in and create your first trend or</li>
<li>Check out the &#8220;About Trendy&#8221; link on the left navigation bar to read about how Trendy works and to access a short tutorial.</li>
</ul>
<p><img alt="Image" src="http://blogs.mathworks.com/desktop/files/image-149.jpg" width="450" height="343" /></p>
<p>&nbsp;</p>
<p><strong>Questions or feedback?</strong></p>
<p>Share your thoughts by posting your questions, comments or feedback as <a href="http://blogs.mathworks.com/desktop/?p=594#respond" title="Share your questions, comments or ideas" target="_blank">a comment</a> to this blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/01/16/introducing-trendy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MATLAB Mobile iPad App</title>
		<link>http://blogs.mathworks.com/desktop/2012/01/16/matlab-mobile-ipad-app/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/01/16/matlab-mobile-ipad-app/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 18:24:49 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[MATLAB Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=571</guid>
		<description><![CDATA[We are pleased to introduce MATLAB Mobile 3.0! This is a universal app, with UIs for both iPad and iPhone. You can download it today from the App Store. &#160; What&#8217;s New in MATLAB Mobile Version 3.0 MATLAB Mobile iPad app Many of you have been asking for a dedicated iPad app. It’s here, enjoy! Redesigned figure [...]]]></description>
			<content:encoded><![CDATA[<p>We are pleased to introduce <a href="http://www.mathworks.com/mobile/">MATLAB Mobile</a> 3.0! This is a universal app, with UIs for both iPad and iPhone. You can download it today from the <a href="http://itunes.apple.com/us/app/matlab-mobile/id370976661?mt=8">App Store</a>.</p>
<p><a href="http://blogs.mathworks.com/desktop/files/IMG_0015.png"><img class="alignnone size-full wp-image-583" title="ipad-landscape" src="http://blogs.mathworks.com/desktop/files/IMG_0015.png" alt="iPad Landscape Screenshot" width="600" height="450" /></a></p>
<p>&nbsp;</p>
<div>
<p><strong>What&#8217;s New in MATLAB Mobile Version 3.0</strong></p>
<ul>
<li><strong>MATLAB Mobile iPad app</strong><br />
Many of you have been asking for a dedicated iPad app. It’s here, enjoy!</li>
<li><strong>Redesigned figure and snapshot views<br />
</strong>Figures and snapshots are combined into a single list for a streamline interface and easy access to a gallery of all the plots you have ever created on the device.</li>
<li><strong>Better zooming capabilities for 2D figures<br />
</strong>When you have a live 2D figure, you can now zoom with the axes fixed.</li>
<li><strong>New keys and symbols in extended keyboard<br />
</strong>Typing MATLAB code can still be a bit foreign on phones and tablet devices. We’ve added several commonly used keys to our extended keyboard. Tap and hold to discover more options.</li>
<li><strong>Automatic parentheses matching<br />
</strong>This is my favorite app feature in this release. We all know brackets and parentheses are widely used in MATLAB code. This saves you the headache of closing and matching brackets.</li>
</ul>
<p>If you have an iPhone or iPad give us feedback for this version!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/01/16/matlab-mobile-ipad-app/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Update to Running files from the Editor</title>
		<link>http://blogs.mathworks.com/desktop/2012/01/09/update-to-running-files-from-the-editor/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/01/09/update-to-running-files-from-the-editor/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 19:43:44 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[Command Window]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[configurations]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=543</guid>
		<description><![CDATA[Another R2011b change was recently discussed in a MATLAB Answers question. This change is when you use the run button in the MATLAB editor, the name of the script/function will be displayed in the Command Window. Here is a visual example of that change: From a MATLAB interpreter/workspace view there is no change in behavior. [...]]]></description>
			<content:encoded><![CDATA[<p>Another R2011b change was recently discussed in a <a href="http://www.mathworks.com/matlabcentral/answers/25230-r2011b-prints-script-name-in-command-window" target="_blank">MATLAB Answers question</a>. This change is when you use the run button in the MATLAB editor, the name of the script/function will be displayed in the Command Window. </p>
<p>Here is a visual example of that change:</p>
<div align="center">
<a href="http://blogs.mathworks.com/desktop/files/step1_run.png"><img src="http://blogs.mathworks.com/desktop/files/step1_run.png" alt="" title="step1_run" width="458" height="186" class="aligncenter size-full wp-image-550" /></a><br />
<a href="http://blogs.mathworks.com/desktop/files/step2_eval.png"><img src="http://blogs.mathworks.com/desktop/files/step2_eval.png" alt="" title="step2_eval" width="486" height="158" class="aligncenter size-full wp-image-551" /></a>
</div>
<p>From a MATLAB interpreter/workspace view there is no change in behavior. In previous versions, when you pressed the run button, that file&#8217;s active <a href="http://blogs.mathworks.com/videos/2007/10/02/cool-feature-run-configurations/" target="_blank">Run Configuration</a> would evaluated in the base workspace. If you had not created or modified the run configuration, this would the same as typing the file&#8217;s name at the command prompt (assuming that the file was top on the Path). The change in R2011b is that we now show the file name in the Command Window and History as if you had typed it at the prompt and pressed Enter. </p>
<p>We made this change for clarity and consistency. What we want is for you to have a record of what was evaluated and be able to understand why the workspace is in its current state. This way if a script updates some variables, you&#8217;ll know what was run to cause those updates. </p>
<p>This does get a little more confusing if you have a run configuration, as the file name is displayed before the run configuration is evaluated, so the recorded output might not be the same as if you just ran the file directly from the command line. </p>
<p>Unfortunately, for some editor-centric workflows, this may decrease readability, as the original Answers poster found. Fortunately our own Scott answered with a workaround:</p>
<blockquote><p>As a workaround, you could use the &#8220;Evaluate entire file&#8221; button on the second row of the editor toolbar (along with the other buttons for evaluating one cell at a time). If this button doesn&#8217;t appear, you can right-click on the toolbar to customize it and add the button back.</p></blockquote>
<p>You can also assign a keyboard shortcut to the &#8220;Evaluate Entire File&#8221; action from File -> Preferences -> Keybaord -> Shortcuts. You can even reassign F5 to this action from its default &#8220;Run or Continue Execution.&#8221; </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/01/09/update-to-running-files-from-the-editor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using the Help Report</title>
		<link>http://blogs.mathworks.com/desktop/2012/01/03/using-the-help-report/</link>
		<comments>http://blogs.mathworks.com/desktop/2012/01/03/using-the-help-report/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 14:54:07 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[Current Directory]]></category>
		<category><![CDATA[contents]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[helprpt]]></category>
		<category><![CDATA[reports]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=537</guid>
		<description><![CDATA[Last week Jiro picked addcopyright for the File Exchange Pick of the Week. The pick looks like a helpful tool for adding copyright text to MATLAB program files, but while reading the post, I was reminded of the Help Report, which is part of MATLAB&#8217;s current folder reports. The Help Report scans the .m files [...]]]></description>
			<content:encoded><![CDATA[<p>Last week Jiro picked <tt>addcopyright</tt> for the <a target="_blank" href="http://blogs.mathworks.com/pick/2011/12/30/automatically-add-copyright-information-to-your-matlab-files/">File Exchange Pick of the Week</a>. The pick looks like a helpful tool for adding copyright text to MATLAB program files, but while reading the post, I was reminded of the <a href="http://www.mathworks.com/help/techdoc/matlab_env/f9-6232.html#f9-6117" target="_blank">Help Report</a>, which is part of MATLAB&#8217;s current folder reports. </p>
<p>The Help Report scans the <tt>.m</tt> files in the current folder and analyzes the text help at the top of the file. This is the text displayed in the Command Window, when you use the <tt>help</tt> command. The report is most useful if you want to create MathWorks-style help for your own code, but is still useful even if you use only a part of it. </p>
<p>One of the features the report has is the ability to flag a missing Copyright or update a Copyright line if it is out of date. It also checks for H1 text, examples, &#8220;see also&#8221;, and even scans class methods for help text.</p>
<p>To run the help report, go to the Actions &#8220;gear&#8221; in the current folder browser, and select Reports -> Help Report. This generates a HTML report of each file in the current folder and what help pieces are present. You can use the checkboxes at top to deselect the parts of help you don&#8217;t care about for your files. </p>
<p><img alt="" src="http://www.mathworks.com/help/techdoc/matlab_env/tuning_refining6_10a.png" title="Help Report example" class="aligncenter" width="406" height="446" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2012/01/03/using-the-help-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011 In Review</title>
		<link>http://blogs.mathworks.com/desktop/2011/12/26/2011-in-review/</link>
		<comments>http://blogs.mathworks.com/desktop/2011/12/26/2011-in-review/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 14:26:15 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=523</guid>
		<description><![CDATA[Well another year is almost complete. Once again we had two successful releases: MATLAB R2011a and R2011b. Today I feel like listing some of our achievements and share some interesting stats. Top 11a Features Screen Menus on Mac OS X Updated Plot Catalog Submit a Support Request from MATLAB Top 11b Features Spreadsheet Import Rename [...]]]></description>
			<content:encoded><![CDATA[<p>Well another year is almost complete. Once again we had two successful releases: MATLAB R2011a and R2011b. Today I feel like listing some of our achievements and share some interesting stats.</p>
<p><strong><a href="http://blogs.mathworks.com/desktop/2011/04/11/introducing-matlab-r2011a/" target="_blank">Top 11a Features</a></strong></p>
<ol>
<li>Screen Menus on Mac OS X</li>
<li>Updated Plot Catalog</li>
<li>Submit a Support Request from MATLAB</li>
</ol>
<p><strong><a href="http://blogs.mathworks.com/desktop/2011/09/05/r2011b-is-here/" target="_blank">Top 11b Features</a></strong></p>
<ol>
<li>Spreadsheet Import</li>
<li>Rename Variable</li>
</ol>
<p><strong>Web and Mobile</strong></p>
<ol>
<li><a href="http://www.mathworks.com/matlabcentral/answers" target="_blank">MATLAB Answers</a></li>
<li><a href="http://www.mathworks.com/matlabcentral/fileexchange/" target="_blank">Updated File Exchange</a></li>
<li><a href="http://mathworks.com/mobile/" target="_blank">MATLAB Mobile 2.0/2.1</a></li>
</ol>
<p>I am most proud, of course, with <a href="http://blogs.mathworks.com/desktop/2011/07/25/connect-to-the-cloud-with-matlab-mobile-20/" target="_blank">MATLAB Mobile 2.0</a>, which allows you to connect to the MathWorks Computing Cloud from your iPhone or iPod touch. No set up is needed to run MATLAB commands from anywhere!</p>
<p>As for the blog, I did have a few empty weeks, which I hope to not repeat next year. We got a new blogging platform this year, and it has made my life easier. This year I had 5 guest posters for a total of 47 posts. I don&#8217;t have access right now to the number of visitors, but it&#8217;s grown quite a bit this year&#8230; so, welcome all new and returning readers!</p>
<p>Our most popular post, by comments, remains the <a href="http://blogs.mathworks.com/desktop/2010/05/24/introducing-matlab-mobile-%E2%80%93-an-iphone-app-to-connect-remotely-to-your-matlab/" target="_blank">MATLAB Mobile announcement</a> from last year. This is mostly due to Android fans. Rest assured we haven&#8217;t forgotten you. The most popular post, by comments, this year is the <a href="http://blogs.mathworks.com/desktop/2011/05/02/update-on-matlab-for-the-mac/" target="_blank">MATLAB on Mac update</a>. Over the years, it seems that our Mac fans are the most prolific commenters. </p>
<p>In 2012 you can look forward to some signification desktop improvements, and cool new platforms for exploring MATLAB. Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2011/12/26/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MATLAB Startup Accelerator</title>
		<link>http://blogs.mathworks.com/desktop/2011/12/19/matlab-startup-accelerator/</link>
		<comments>http://blogs.mathworks.com/desktop/2011/12/19/matlab-startup-accelerator/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 22:51:45 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[Preferences]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/?p=515</guid>
		<description><![CDATA[Another new feature of MATLAB R2011b is the Startup Accelerator, which improves MATLAB startup time on Windows by caching important files that MATLAB needs to properly launch. This is done through a scheduled task that runs periodically to update the cache. In a normal installation of MATLAB, there is nothing you need to do to [...]]]></description>
			<content:encoded><![CDATA[<p>Another new feature of MATLAB R2011b is the Startup Accelerator, which improves MATLAB startup time on Windows by caching important files that MATLAB needs to properly launch. This is done through a scheduled task that runs periodically to update the cache. In a normal installation of MATLAB, there is nothing you need to do to get this benefit. Hopefully by now you&#8217;ve noticed R2011b loads faster than previous releases. </p>
<p>In case you&#8217;re curious, you can read this solution <a href="http://www.mathworks.com/support/solutions/en/data/1-FBGXHZ/index.html?solution=1-FBGXHZ" target="_blank">http://www.mathworks.com/support/solutions/en/data/1-FBGXHZ/index.html?solution=1-FBGXHZ</a>. It explains how the Windows Task Scheduler is used and how to install the Startup Accelerator on a network installation of MATLAB.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2011/12/19/matlab-startup-accelerator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Dates in MATLAB</title>
		<link>http://blogs.mathworks.com/desktop/2011/11/28/using-dates-in-matlab/</link>
		<comments>http://blogs.mathworks.com/desktop/2011/11/28/using-dates-in-matlab/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 17:49:07 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[Figure]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dates]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[times]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/2011/11/28/using-dates-in-matlab/</guid>
		<description><![CDATA[Three weeks ago I wrote about MATLAB's new spreadsheet import tool. Since then I've had a few conversations regarding using dates in MATLAB; dates are common as column headers or table data. The import tool will turn Excel dates into MATLAB datenums. A datenum in MATLAB is just a double that represents any date &#038; [...]]]></description>
			<content:encoded><![CDATA[<p>Three weeks ago I wrote about MATLAB's new spreadsheet import tool. Since then I've had a few conversations regarding using dates in MATLAB; dates are common as column headers or table data. The import tool will turn Excel dates into MATLAB <a href="http://www.mathworks.com/help/techdoc/ref/datenum.html"><tt>datenum</tt></a>s. A datenum in MATLAB is just a double that represents any date &#038; time after midnight Jan 1, 0000 AD. MATLAB comes with several useful functions for handling these special case numbers, and in particular for displaying them.</p>
<p>The <a href="http://www.mathworks.com/help/techdoc/ref/now.html"><tt>now</tt></a>, <a href="http://www.mathworks.com/help/techdoc/ref/clock.html"><tt>clock</tt></a>, and <a href="http://www.mathworks.com/help/techdoc/ref/date.html"><tt>date</tt></a> functions will provide the current date &#038; time as a <tt>datenum</tt>, <a href="http://www.mathworks.com/help/techdoc/ref/datevec.html"><tt>datevec</tt></a>, or <a href="http://www.mathworks.com/help/techdoc/ref/datestr.html"><tt>detestr</tt></a>, respectively. While a datenum is a single number representing the date and time, a datevec splits the year, month, day, hour, minute, and second components out in 1x6 vector. A datestr is the string representation of a date time. There are a ton formatting options available for how the date and time are displayed (see below).</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">currentTimeAndDate = now
currentTimeAndDateAsVector = clock
currentDateAsString = date</pre>
<pre style="font-style:oblique">
currentTimeAndDate =

   7.3484e+05

currentTimeAndDateAsVector =

         2011           11           28            8           50       20.486

currentDateAsString =

28-Nov-2011
</pre>
<p>As far as the data is concerned, these three date types are interchangeable using the conversion functions. You can use the <tt>datenum</tt>, <tt>datevec</tt>, and <tt>datestr</tt> functions to convert between the three types. Individual functions that perform calculations on dates usually prefer a particular format, for example <a href="http://www.mathworks.com/help/techdoc/ref/addtodate.html"><tt>addtodate</tt></a> looks for datenum types.</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">currentDateAsNumber = datenum(currentDateAsString)
currentDateAndDtimeAsNumber = datenum(currentTimeAndDate) <span style="color: #228B22">%note the difference from above</span>
currentDate = datestr(currentTimeAndDate)
currentDateAsVector = datevec(currentDateAsString)</pre>
<pre style="font-style:oblique">
currentDateAsNumber =

      734835

currentDateAndDtimeAsNumber =

   7.3484e+05

currentDate =

28-Nov-2011 08:50:20

currentDateAsVector =

        2011          11          28           0           0           0
</pre>
<p>The usage of dates I'm particularly interested in is with plots. Let's say we have some time-varying data and we want the x-axis to reflect those dates. If I just plot the data against the datenum, by default the x-labels will all be large, ugly numbers. </p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">firstInMonths = repmat([2011 1 1 0 0 0],12,1);
firstInMonths(:,2) = 1:12;
bar(datenum(firstInMonths),rand(1,12)*10)</pre>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_dates/dates_01.png" alt="Random Date Data">
</div>
<p>Thankfully, MATLAB comes with a simple function, <a href="http://www.mathworks.com/help/techdoc/ref/datetick.html"><tt>datetick</tt></a>, for turning those numbers into strings:</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">datetick</pre>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_dates/dates_02.png" alt="Random Date Data With Ticks">
</div>
<p>Unfortunately, those tick labels aren't very pretty. Let's use a date format with the <tt>datetick</tt> function to specify how we want labels to look. For this function, we can use any date format recognized by the <tt>detestr</tt> function (see below).</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">datetick(<span style="color: #A020F0">'x'</span>,<span style="color: #A020F0">'mmm-yy'</span>)</pre>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_dates/dates_03.png" alt="Random Date Data with well-formatted ticks">
</div>
<p>Finally, for your reference, here is the help information for <tt>datestr</tt>, which lists how to formate a date string:</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">help <span style="color: #A020F0">datestr</span></pre>
<pre style="font-style:oblique"> DATESTR String representation of date.
    S = DATESTR(V) converts one or more date vectors V to date strings S.
    Input V must be an M-by-6 matrix containing M full (six-element) date
    vectors. Each element of V must be a positive double-precision number.
    DATESTR returns a column vector of M date strings, where M is the total
    number of date vectors in V. 

    S = DATESTR(N) converts one or more serial date numbers N to date
    strings S. Input argument N can be a scalar, vector, or
    multidimensional array of positive double-precision numbers. DATESTR
    returns a column vector of M date strings, where M is the total number
    of date numbers in N. 

    S = DATESTR(D, F) converts one or more date vectors, serial date
    numbers, or date strings D into the same number of date strings S.
    Input argument F is a format number or string that determines the
    format of the date string output. Valid values for F are given in Table
    1, below. Input F may also contain a free-form date format string
    consisting of format tokens as shown in Table 2, below. 

    Date strings with 2-character years are interpreted to be within the
    100 years centered around the current year. 

    S = DATESTR(S1, F, P) converts date string S1 to date string S,
    applying format F to the output string, and using pivot year P as the
    starting year of the 100-year range in which a two-character year
    resides. The default pivot year is the current year minus 50 years.
    F = -1 uses the default format.

 	S = DATESTR(...,'local') returns the string in a localized format. The
 	default (which can be called with 'en_US') is US English. This argument
 	must come last in the argument sequence.

 	Note:  The vectorized calling syntax can offer significant performance
 	improvement for large arrays.

 	Table 1: Standard MATLAB Date format definitions

    Number           String                   Example
    ===========================================================================
       0             'dd-mmm-yyyy HH:MM:SS'   01-Mar-2000 15:45:17
       1             'dd-mmm-yyyy'            01-Mar-2000
       2             'mm/dd/yy'               03/01/00
       3             'mmm'                    Mar
       4             'm'                      M
       5             'mm'                     03
       6             'mm/dd'                  03/01
       7             'dd'                     01
       8             'ddd'                    Wed
       9             'd'                      W
      10             'yyyy'                   2000
      11             'yy'                     00
      12             'mmmyy'                  Mar00
      13             'HH:MM:SS'               15:45:17
      14             'HH:MM:SS PM'             3:45:17 PM
      15             'HH:MM'                  15:45
      16             'HH:MM PM'                3:45 PM
      17             'QQ-YY'                  Q1-96
      18             'QQ'                     Q1
      19             'dd/mm'                  01/03
      20             'dd/mm/yy'               01/03/00
      21             'mmm.dd,yyyy HH:MM:SS'   Mar.01,2000 15:45:17
      22             'mmm.dd,yyyy'            Mar.01,2000
      23             'mm/dd/yyyy'             03/01/2000
      24             'dd/mm/yyyy'             01/03/2000
      25             'yy/mm/dd'               00/03/01
      26             'yyyy/mm/dd'             2000/03/01
      27             'QQ-YYYY'                Q1-1996
      28             'mmmyyyy'                Mar2000
      29 (ISO 8601)  'yyyy-mm-dd'             2000-03-01
      30 (ISO 8601)  'yyyymmddTHHMMSS'        20000301T154517
      31             'yyyy-mm-dd HH:MM:SS'    2000-03-01 15:45:17 

    Table 2: Free-form date format symbols

    Symbol  Interpretation of format symbol
    ===========================================================================
    yyyy    full year, e.g. 1990, 2000, 2002
    yy      partial year, e.g. 90, 00, 02
    mmmm    full name of the month, according to the calendar locale, e.g.
            "March", "April" in the UK and USA English locales.
    mmm     first three letters of the month, according to the calendar
            locale, e.g. "Mar", "Apr" in the UK and USA English locales.
    mm      numeric month of year, padded with leading zeros, e.g. ../03/..
            or ../12/..
    m       capitalized first letter of the month, according to the
            calendar locale; for backwards compatibility.
    dddd    full name of the weekday, according to the calendar locale, e.g.
            "Monday", "Tuesday", for the UK and USA calendar locales.
    ddd     first three letters of the weekday, according to the calendar
            locale, e.g. "Mon", "Tue", for the UK and USA calendar locales.
    dd      numeric day of the month, padded with leading zeros, e.g.
            05/../.. or 20/../..
    d       capitalized first letter of the weekday; for backwards
            compatibility
    HH      hour of the day, according to the time format. In case the time
            format AM | PM is set, HH does not pad with leading zeros. In
            case AM | PM is not set, display the hour of the day, padded
            with leading zeros. e.g 10:20 PM, which is equivalent to 22:20;
            9:00 AM, which is equivalent to 09:00.
    MM      minutes of the hour, padded with leading zeros, e.g. 10:15,
            10:05, 10:05 AM.
    SS      second of the minute, padded with leading zeros, e.g. 10:15:30,
            10:05:30, 10:05:30 AM.
    FFF     milliseconds field, padded with leading zeros, e.g.
            10:15:30.015.
    PM      set the time format as time of morning or time of afternoon. AM
            or PM is appended to the date string, as appropriate. 

    Examples:
 	DATESTR(now) returns '24-Jan-2003 11:58:15' for that particular date,
 	on an US English locale DATESTR(now,2) returns 01/24/03, the same as
 	for DATESTR(now,'mm/dd/yy') DATESTR(now,'dd.mm.yyyy') returns
 	24.01.2003 To convert a non-standard date form into a standard MATLAB
 	dateform, first convert the non-standard date form to a date number,
 	using DATENUM, for example,
 	DATESTR(DATENUM('24.01.2003','dd.mm.yyyy'),2) returns 01/24/03.

 	See also DATE, DATENUM, DATEVEC, DATETICK.

    Reference page in Help browser
       doc datestr
</pre>
<p>If you're interested in using dates with MATLAB, <a href="http://www.mathworks.com/help/techdoc/ref/f16-42340.html#f16-32430">here is a link to the date functions</a> that are available.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2011/11/28/using-dates-in-matlab/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>4 Uses of MATLAB Mobile This Thanksgiving</title>
		<link>http://blogs.mathworks.com/desktop/2011/11/21/4-uses-of-matlab-mobile-this-thanksgiving/</link>
		<comments>http://blogs.mathworks.com/desktop/2011/11/21/4-uses-of-matlab-mobile-this-thanksgiving/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 15:55:20 +0000</pubDate>
		<dc:creator>Michael Katz</dc:creator>
				<category><![CDATA[MATLAB Mobile]]></category>
		<category><![CDATA[football]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[why]]></category>

		<guid isPermaLink="false">http://blogs.mathworks.com/desktop/2011/11/21/4-uses-of-matlab-mobile-this-thanksgiving/</guid>
		<description><![CDATA[1. Chef Aide When cooking a large meal, I often need to make quick calculations and substitutions. For instance, how to handle measuring when all my tablespoons are in the sink? After pre-loading the Units Conversion Toolbox from the file exchange into MATLAB, I can figure out a workaround lickety-split: Sure there are plenty of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1. Chef Aide</strong><br />
When cooking a large meal, I often need to make quick calculations and substitutions. For instance, how to handle measuring when all my tablespoons are in the sink? After pre-loading the <a href="http://www.mathworks.com/matlabcentral/fileexchange/29621-units-conversion-toolbox">Units Conversion Toolbox</a> from the file exchange into MATLAB, I can figure out a workaround lickety-split:</p>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_thanksgiving/mm_convertunits.png" alt="MATLAB Mobile convert units with file exchange">
</div>
<p>Sure there are plenty of apps that will do this easier and out of the box, but that&#8217;s not as much fun as using MATLAB.</p>
<p><strong>2. Black Friday Deal Calculator</strong><br />
How do you know how much are you going to save on a deal? In addition to all the powerful linear algebra built into MATLAB, it can also function as basic calculator. You can use MATLAB Mobile to calculate final prices, how much it will cost to drive across town to save an additional $10 on the same item, etc. </p>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_thanksgiving/mm_salecalculator.png" alt="MATLAB Mobile to calculate the best squares in a football pool">
</div>
<p><strong>3. Winning the football pool</strong><br />
With a little matrix manipulation and pre-computed probabilities, we can find out which boxes in a standard football pool have the best odds of winning. This is for the kind where you choose a square representing the last digit of the two teams&#8217; scores. Thanks to the data from <a href="http://www.sabernomics.com/sabernomics/index.php/2005/01/squares-for-squares/">http://www.sabernomics.com/sabernomics/index.php/2005/01/squares-for-squares/</a>, we can figure which square has the best odds:</p>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_thanksgiving/mm_bestscores.png" alt="MATLAB Mobile to calculate savings">
</div>
<p>Here&#8217;s the code if you want to cut &#038; paste. Special thanks to Ned Gulley for inspiring this one.</p>
<pre style="background: #F9F7F3; padding: 10px; border: 1px solid rgb(200,200,200)">prob = [1.7100 1.4800 0.5600 3.2100 2.0400 0.7200 1.5400 3.8000 0.9500 0.7400; <span style="color: #0000FF">...</span>
 1.4800 0.8500 0.3300 1.0000 2.2300 0.2400 0.9500 1.9300 1.3500 0.5600;<span style="color: #0000FF">...</span>
 0.5600 0.3300 0.0400 0.5400 0.6500 0.3300 0.3500 0.4600 0.2200 0.3200;<span style="color: #0000FF">...</span>
 3.2100 1.0000 0.5400 1.1900 1.4500 0.5200 1.6300 1.9300 0.6100 0.7200;<span style="color: #0000FF">...</span>
 2.0400 2.2300 0.6500 1.4500 1.5900 0.5000 0.8200 3.7100 0.7200 0.6700;<span style="color: #0000FF">...</span>
 0.7200 0.2400 0.3300 0.5200 0.5000 0.1900 0.2200 0.7600 0.6900 0.2400;<span style="color: #0000FF">...</span>
 1.5400 0.9500 0.3500 1.6300 0.8200 0.2200 0.5600 0.8900 0.4800 0.6900;<span style="color: #0000FF">...</span>
 3.8000 1.9300 0.4600 1.9300 3.7100 0.7600 0.8900 1.9300 0.8300 0.8000;<span style="color: #0000FF">...</span>
 0.9500 1.3500 0.2200 0.6100 0.7200 0.6900 0.4800 0.8300 0.4100 0.3000;<span style="color: #0000FF">...</span>
 0.7400 0.5600 0.3200 0.7200 0.6700 0.2400 0.6900 0.8000 0.3000 0.1900];

[~,IX] = sort(prob(:),<span style="color: #A020F0">'descend'</span>);
[row,col]=ind2sub(size(prob),IX);
bestscores = horzcat(row-1,col-1)</pre>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_thanksgiving/mm_bestscores_plot.png" alt="MATLAB Mobile to calculate savings">
</div>
<p><strong>4. A Reason To Be Thankful</strong><br />
Some families&#8217; tradition includes everyone stating a reason to be thankful. In addition to a thoughtful and inspired answer, why not throw out a joke one as well. The <tt>why</tt> function is always good for coming up with an answer on the spot. </p>
<div align="center">
<img border="0" src="http://blogs.mathworks.com/images/desktop/michael_katz_thanksgiving/mm_reason.png" alt="MATLAB Mobile:why">
</div>
<p>Have a safe and happy Thanksgiving. </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.mathworks.com/desktop/2011/11/21/4-uses-of-matlab-mobile-this-thanksgiving/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

