{"id":4376,"date":"2026-10-01T06:44:25","date_gmt":"2026-10-01T10:44:25","guid":{"rendered":"https:\/\/blogs.mathworks.com\/matlab\/?p=4376"},"modified":"2026-10-01T07:18:30","modified_gmt":"2026-10-01T11:18:30","slug":"a-look-at-some-of-whats-new-in-matlab-r2026b","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/matlab\/2026\/10\/01\/a-look-at-some-of-whats-new-in-matlab-r2026b\/","title":{"rendered":"A look at some of what&#8217;s new in MATLAB R2026b"},"content":{"rendered":"<div class = rtcContent><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>My various social media feeds are full of discussion of the September \"Back-to-school\" reset. I feel it too, even though it's now 30 years since I started my undergraduate physics degree at The University of Sheffield. I have the urge to declutter, buy new stationery and, of course, update my MATLAB! <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>R2026b was released on 23rd September 2026 and contains some features that we've been working on for a long time. As always, I urge you to dig into the <\/span><a href = \"https:\/\/www.mathworks.com\/help\/relnotes\/\"><span>detailed release notes<\/span><\/a><span> to see everything that we've built for you. For now, I hope you enjoy this tour of my favorite new features across the MATLAB Ecosystem. <\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>MATLAB Package Management<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>You can now install community packages from <\/span><a href = \"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\"><span>File Exchange<\/span><\/a><span> using <\/span><a href = \"https:\/\/www.mathworks.com\/help\/matlab\/ref\/mpminstall.html\"><span style=' font-family: monospace;'>mpminstall<\/span><\/a><span>. For example, let's install <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/72999-fsda-flexible-statistics-data-analysis-toolbox?s_tid=srchtitle_support_results_1_fsda\"><span>FSDA (Flexible Statistics Data Analysis)<\/span><\/a><span> toolbox.<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >mpminstall <\/span><span style=\"color: rgb(167, 9, 245);\">fsda<\/span><\/span><\/div><\/div><\/div><div class = 'preformatted-plain' style = 'margin: 10px 3px 10px 55px; padding: 10px 10px 10px 5px; '><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >You will be accessing content made available under separate license terms.<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >License terms are available in the package installation folder.<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '>&nbsp;<\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >The following packages will be installed:<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >    fsda@8.7.11  (Repository: File Exchange Repository)<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '>&nbsp;<\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >Do you want to continue? [YES\/no]:<\/span><\/span><\/div><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Press Enter to accept the default (YES) and you're done<\/span><\/div><div class = 'preformatted-plain' style = 'margin: 10px 3px 10px 55px; padding: 10px 10px 10px 5px; '><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >Successfully installed the following packages:<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >    fsda@8.7.11  (help)<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '>&nbsp;<\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >Installation complete.<\/span><\/span><\/div><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>You can list all installed packages with <\/span><span style=' font-family: monospace;'>mpmlist<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper outputs\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px 4px 0px 0px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >mpmlist<\/span><\/span><\/div><div  style = 'color: rgb(33, 33, 33); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% \/ auto padding-box border-box; font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; overflow-x: hidden; line-height: 17.234px; '><div class=\"inlineElement eoOutputWrapper disableDefaultGestureHandling embeddedOutputsTextElement\" uid=\"E4C79381\" prevent-scroll=\"true\" data-testid=\"output_0\" tabindex=\"-1\" style=\"width: 1145px; white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\"><div class=\" textElement eoOutputContent\" tabindex=\"-1\" data-previous-available-width=\"1108\" data-previous-scroll-height=\"76\" data-hashorizontaloverflow=\"false\" role=\"article\" aria-roledescription=\"Use Browse Mode to explore \" aria-description=\"text output \" style=\"max-height: 261px; white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">                                   <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">Name<\/strong>                                   <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">Version<\/strong>     <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">Editable<\/strong>    <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">DirectlyInstalled<\/strong>\r\n    <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">__________________________________________________________________<\/strong>    <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">________<\/strong>    <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">________<\/strong>    <strong style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">_________________<\/strong>\r\n\r\n    \"FSDA -  Flexible Statistics Data Analysis toolbox (fsda)\"            \"8.7.11\"     false            true       \r\n    \"PIVlab - particle image velocimetry (PIV) tool with GUI (pivlab)\"    \"3.9.0\"      false            true       <\/div><\/div><\/div><\/div><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>You can see that I also installed <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/27659-pivlab-particle-image-velocimetry-piv-tool-with-gui\"><span>PIVlab<\/span><\/a><span> on my machine. Uninstall FSDA with <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/mpmuninstall.html\"><span style=' font-family: monospace;'>mpmuninstall<\/span><\/a><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >mpmuninstall <\/span><span style=\"color: rgb(167, 9, 245);\">fsda<\/span><\/span><\/div><\/div><\/div><div class = 'preformatted-plain' style = 'margin: 10px 3px 10px 55px; padding: 10px 10px 10px 5px; '><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >The following packages will be uninstalled:<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >    fsda@8.7.11<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '>&nbsp;<\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >Do you want to continue? [YES\/no]:<\/span><\/span><\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '>&nbsp;<\/div><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; '><span style=\"white-space: pre\"><span >Uninstallation complete.<\/span><\/span><\/div><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>There is a lot more to dig into here including things like dependencies between packages, alternative repositories and the best way to create them. There will be follow-up posts about this new workflow on The MATLAB Blog soon.<\/span><\/div><h2  style = 'margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>The enhanced command window<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Functions such as <\/span><span style=' font-family: monospace;'>fprintf<\/span><span> now render ANSI escape codes in the command window which allows you to output styled and colored text in the command window. For example:<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_1.png\" width = \"380\" height = \"33\" alt = \"\" style = \"vertical-align: baseline; width: 380px; height: 33px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The new <\/span><span style=' font-family: monospace;'>markdowndisp<\/span><span> function allows you to render markdown text in the command window using <\/span><a href = \"https:\/\/github.github.com\/gfm\/\"><span>GitHub Flavored Markdown<\/span><\/a><span>.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_2.png\" width = \"853\" height = \"304\" alt = \"\" style = \"vertical-align: baseline; width: 853px; height: 304px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Finally, the Command Window now truncates most large two\u2011dimensional numeric matrices by default.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span> <\/span><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_3.png\" width = \"486\" height = \"345\" alt = \"\" style = \"vertical-align: baseline; width: 486px; height: 345px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Expect a more in-depth article on these new Command Window features soon.<\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Plain text file formats for App Designer apps and Live Scripts<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>In previous versions of MATLAB, App Designer apps have only been able to use the <\/span><span style=' font-family: monospace;'>.mlapp<\/span><span> binary format which is not very source-control friendly. As of R2026b, you can now choose to save apps in a plain text format which is a combination of <\/span><span style=' font-family: monospace;'>.m<\/span><span> and <\/span><span style=' font-family: monospace;'>.xml<\/span><span> files. The default is currently still <\/span><span style=' font-family: monospace;'>.mlapp<\/span><span> but I encourage you to try out the new file format. More details can be found in this blog post by one of our developers: <\/span><a href = \"https:\/\/blogs.mathworks.com\/graphics-and-apps\/2026\/09\/28\/plain-text-matlab-apps-in-r2026b-a-diff-you-can-read\/\"><span>Plain-Text MATLAB Apps in R2026b: A Diff You Can Read<\/span><\/a><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Live scripts went through a similar transition last year. Originally, only the binary <\/span><span style=' font-family: monospace;'>.mlx<\/span><span> file format was available but R2025a introduced the <\/span><a href = \"https:\/\/www.mathworks.com\/help\/matlab\/creating_guis\/app-designer-file-formats.html\"><span>plain text <\/span><span style=' font-family: monospace;'>.m<\/span><span> Live Code Format<\/span><\/a><span> as an option. In R2026b, this plain text format is now the default for live scripts with the <\/span><span style=' font-family: monospace;'>.mlx<\/span><span> format becoming the option. <\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Google Sheets support<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>MATLAB now includes full Google Sheets support. Once you've <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/import_export\/connect-matlab-to-your-google-account.html\"><span>connected MATLAB to your Google account<\/span><\/a><span>, all of the standard functions such as <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/readtable.html\"><span style=' font-family: monospace;'>readtable<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/writetable.html\"><span style=' font-family: monospace;'>writetable<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/readmatrix.html\"><span style=' font-family: monospace;'>readmatrix<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/writematrix.html\"><span style=' font-family: monospace;'>writematrix<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/readcell.html\"><span style=' font-family: monospace;'>readcell<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/writecell.html\"><span style=' font-family: monospace;'>writecell<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/readtimetable.html\"><span style=' font-family: monospace;'>readtimetable<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/writetimetable.html\"><span style=' font-family: monospace;'>writetimetable<\/span><\/a><span>, and <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/sheetnames.html\"><span style=' font-family: monospace;'>sheetnames<\/span><\/a><span> will work just as you'd expect them to. For example, to read a Google Sheets spreadsheet, you'd do something like <\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 0px none rgb(33, 33, 33); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >url = <\/span><span style=\"color: rgb(167, 9, 245);\">\"https:\/\/docs.google.com\/spreadsheets\/d\/SPREADSHEET_ID\"<\/span><span >;<\/span><\/span><\/div><\/div><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 0px none rgb(33, 33, 33); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 0px 0px 4px 4px; padding: 0px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >T = readtable(url);<\/span><\/span><\/div><\/div><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Design of Experiments (DOE)<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Over the last few releases, an <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/stats\/design-of-experiments.html\"><span>object oriented framework for Design of Experiments<\/span><\/a><span> has been built out in Statistics and Machine Learning Toolbox. This continues in R2026b with the new <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/stats\/responsesurfacedoe.html\"><span style=' font-family: monospace;'>responseSurfaceDOE<\/span><\/a><span> object and the new <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/stats\/fullfactorialdoe.addreplicates.html\"><span style=' font-family: monospace;'>addReplicates<\/span><\/a><span> and <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/stats\/fullfactorialdoe.randomizerunorder.html\"><span style=' font-family: monospace;'>randomizeRunOrder<\/span><\/a><span> functions which round out a comprehensive new framework that first appeared in R2024b. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>In addition to this programmatic framework, R2026b sees the release of the <\/span><a href = \"https:\/\/www.mathworks.com\/help\/stats\/doeexplorer-app.html\"><span>DOE Explorer App<\/span><\/a><span> which exposes the entire workflow in a graphical user interface. For more details on the app, <\/span><a href = \"https:\/\/www.mathworks.com\/videos\/design-of-experiments-with-doe-explorer-1787290050449.html?s_tid=srchtitle\"><span>refer to this 4 minute video<\/span><\/a><span>.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_4.png\" width = \"672\" height = \"469\" alt = \"\" style = \"vertical-align: baseline; width: 672px; height: 469px;\"><\/img><\/div><h2  style = 'margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Pass GPU data between MATLAB and Python<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Once you've got your data in GPU memory, you usually want to keep it there for as long as possible since data transfers to and from host memory can kill performance. These new features in Parallel Computing Toolbox and Deep Learning Toolbox allow you to combine MATLAB and Python GPU workflows without a round trip through host memory.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>To demonstrate, I first need a version of Python with CuPy, PyTorch and TensorFlow installed. The Python on my machine was pretty out of date so I used the <\/span><a href = \"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/184328-matlab-support-for-python-3-13\"><span>MATLAB Support for Python 3.13 package<\/span><\/a><span> (also new at R2026b) to update to Python 3.13 just for MATLAB. R2026b also supports Python 3.14 but that's not available as a support package yet. I then used the <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/releases\/R2026a\/matlab\/matlab_external\/manage-python-environments-using-external-languages-panel.html\"><span>External Languages Panel (new in R2026a)<\/span><\/a><span> to select Python 3.13, select 'run Python in a separate process' and install CuPy, PyTorch and TensorFlow. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The set up done, I start by creating a 1 million element random array on the GPU using MATLAB<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >x = 600* rand(1000,<\/span><span style=\"color: rgb(167, 9, 245);\">\"gpuArray\"<\/span><span >);<\/span><\/span><\/div><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>I transfer this over to CuPy using the new <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/parallel-computing\/gpuarray.pycupyarray.html\"><span style=' font-family: monospace;'>pycupyarray<\/span><\/a><span> function<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >pyx = pycupyarray(x);<\/span><\/span><\/div><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Let's compute something on the GPU using CuPy<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >pyw = py.cupyx.scipy.special.wright_bessel(0.01, 0, pyx);<\/span><\/span><\/div><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Then transfer the result back to MATLAB<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >w = gpuArray(pyw);<\/span><\/span><\/div><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>As you can see, the workflow is straightforward but it's worth noting that the transfer between processes isn't free. After running the four lines above, my GPU contains two copies of the input data, <\/span><span style=' font-family: monospace;'>x<\/span><span> and <\/span><span style=' font-family: monospace;'>pyx<\/span><span>, and two copies of the output data, <\/span><span style=' font-family: monospace;'>pyw<\/span><span> and <\/span><span style=' font-family: monospace;'>w<\/span><span>. If you are dealing with large arrays, you'll need to pay careful attention to memory management when using this functionality.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>CuPy isn't the only Python framework supported on the GPU. We can also inter-operate with PyTorch with <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/deeplearning\/ref\/arraytotorchtensor.html\"><span style=' font-family: monospace;'>arrayToTorchTensor<\/span><\/a><span> and <\/span><a href = \"https:\/\/www.mathworks.com\/help\/deeplearning\/ref\/torchtensortoarray.html\"><span style=' font-family: monospace;'>torchTensorToArray<\/span><\/a><span style=' font-family: monospace;'>.<\/span><\/div><div style=\"background-color: #F5F5F5; margin: 10px 15px 10px 0; display: inline-block; min-width: 100%;\"><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 1px solid rgb(217, 217, 217); border-bottom: 0px none rgb(33, 33, 33); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >B = rand(2,3,4,<\/span><span style=\"color: rgb(167, 9, 245);\">\"gpuArray\"<\/span><span >);<\/span><\/span><\/div><\/div><div class=\"inlineWrapper\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px 45px 0px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >Q = arrayToTorchTensor(B);<\/span><\/span><\/div><\/div><div class=\"inlineWrapper outputs\"><div  style = 'border-left: 1px solid rgb(217, 217, 217); border-right: 1px solid rgb(217, 217, 217); border-top: 0px none rgb(33, 33, 33); border-bottom: 1px solid rgb(217, 217, 217); border-radius: 0px; padding: 0px 45px 4px 13px; line-height: 18.004px; min-height: 0px; white-space: nowrap; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace, Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; '><span style=\"white-space: pre\"><span >Q.size()<\/span><\/span><\/div><div  style = 'color: rgb(33, 33, 33); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% \/ auto padding-box border-box; font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 14px; overflow-x: hidden; line-height: 17.234px; '><div class=\"inlineElement eoOutputWrapper disableDefaultGestureHandling embeddedOutputsVariableStringElement\" uid=\"F6087E77\" prevent-scroll=\"true\" data-testid=\"output_1\" tabindex=\"-1\" style=\"width: 1145px; white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\"><div class=\"textElement eoOutputContent\" tabindex=\"-1\" data-previous-available-width=\"1108\" data-previous-scroll-height=\"64\" data-hashorizontaloverflow=\"false\" role=\"article\" aria-roledescription=\"Use Browse Mode to explore \" aria-description=\"variable output \" style=\"max-height: 261px; white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\"><div style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\"><span class=\"variableNameElement\" style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">ans = <\/span><\/div><div style=\"white-space: pre; font-style: normal; color: rgb(33, 33, 33); font-size: 12px;\">  Python Size with no properties.\r\n\r\n    torch.Size([2, 3, 4])\r\n<\/div><\/div><\/div><\/div><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Finally, many other libraries, such as TensorFlow, are supported via <\/span><a href = \"https:\/\/www.mathworks.com\/help\/parallel-computing\/gpuarray.pydlpack.html\"><span>DLPack capsules<\/span><\/a><span>.<\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>GPU Monitor<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Now that we have additional ways to use our GPU in MATLAB, it's timely that we also have a way to monitor GPU usage via the GPU Monitor App. To launch it, click on Parallel in the Environment Tab and then GPU Monitor.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_5.png\" width = \"270\" height = \"277\" alt = \"\" style = \"vertical-align: baseline; width: 270px; height: 277px;\"><\/img><span> <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The app shows GPU Memory Usage and GPU Utilization in real time. I only have one NVIDIA GPU on my machine but if you are lucky enough to have several, multiple GPUs are supported<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_6.png\" width = \"550\" height = \"366\" alt = \"\" style = \"vertical-align: baseline; width: 550px; height: 366px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>When I took the screenshot above, I had been creating and destroying GPU arrays in MATLAB but I should point out that this isn't just MATLAB's utilization of the GPU. It covers all processes. So, when I later ran a Large Language Model using Ollama, I saw how that affected GPU memory and utilisation as well. <\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Improved performance in MATLAB R2026b<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>I wrote about the improvements to t<\/span><a href = \"https:\/\/blogs.mathworks.com\/matlab\/2026\/07\/14\/objects-are-about-to-get-much-faster-in-matlab\/\"><span>he MATLAB object management system<\/span><\/a><span> earlier this year and showed that some operations have been made over 300x faster! Back then, this new feature was only available via a limited beta and you had to contact MathWorks support to get access to it. In R2026b, you can turn it on by installing the <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/184335-object-performance-improvement-for-matlab-beta\"><span>Object Performance Improvement for MATLAB (Beta)<\/span><\/a><span>. As I discussed in my article, this is a fundamental language performance improvement and you will discover that many different workflows will be made faster. If it involves objects, there's a good chance you'll see an improvement although the actual amount of speed-up can vary dramatically depending on how your code uses objects.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Outside of this system-wide improvement, R2026b sees the usual raft of speed optimizations you've come to expect from a new MATLAB release.  For the full list, check out the <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?startrelease=R2023a&amp;endrelease=R2026b&amp;category=performance&amp;rntext=&amp;groupby=release&amp;sortby=descending&amp;searchHighlight=\"><span>Performance category of the release notes<\/span><\/a><span>.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Some of my favorites include<\/span><\/div><ul  style = 'margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px; '><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span>Up to 94x speed-up for <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/polyshape.union.html\"><span style=' font-family: monospace;'>union<\/span><\/a><span style=' font-family: monospace;'>(v)<\/span><span> and <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/polyshape.intersect.html\"><span style=' font-family: monospace;'>intersect<\/span><\/a><span style=' font-family: monospace;'>(v)<\/span><span> when <\/span><span style=' font-family: monospace;'>v<\/span><span> is a vector of <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/polyshape.html\"><span style=' font-family: monospace;'>polyshape<\/span><\/a><span> objects.<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span>Several operations on datetime arrays have been made faster with up to <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?s_tid=CRUX_lftnav#mw_155a9915-f584-4e8c-997d-6d728092c451\"><span>43x speed-up shown in the release notes<\/span><\/a><span>.<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span>Various graphics and desktop speed enhancements such as <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?s_tid=CRUX_lftnav#mw_5aa6b056-8589-49b4-aa83-dec4cff6f7fe\"><span>Improved scrolling on high-DPI displays in MATLAB Editor<\/span><\/a><span>, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?s_tid=CRUX_lftnav#mw_20257740-5e72-40e9-a2dc-e4bb3a9ddd29\"><span>improved responsiveness for the plot and plot3 functions<\/span><\/a><span> and <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?s_tid=CRUX_lftnav#mw_4bf07441-ff88-483e-bf7a-246c1290b83a\"><span>improved performance when resizing an app with multiple sliders in a grid<\/span><\/a><span>.<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span>Deep Learning Training: There have been a couple of improvements to <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/deeplearning\/ref\/trainnet.html\"><span style=' font-family: monospace;'>trainnet<\/span><\/a><span> from Deep Learning Toolbox. You can now <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/deeplearning\/release-notes.html#mw_26daaaf0-5941-4c82-8067-53cd47961a7b\"><span>speed up GPU training using automatic mixed precision<\/span><\/a><span> which uses half-precision under the hood. CPU training has also been made faster with the <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/deeplearning\/release-notes.html#mw_6a6bff25-0649-4d9f-bb2e-e4475814b196\"><span>example in the release notes showing a 1.7x speed-up<\/span><\/a><span>.<\/span><\/li><\/ul><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>With some of these very specific speed improvements, it can sometimes be difficult to see why you should care. For example, <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/ref\/validatestring.html\"><span style=' font-family: monospace;'>validatestring<\/span><\/a><span> has been improved in R2026b with <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/matlab\/release-notes.html?s_tid=CRUX_lftnav#mw_68f555b0-aba5-487d-8b00-eeed70f6becb\"><span>the example in the release note showing a 5.8x speed-up<\/span><\/a><span>. Your immediate thought might be 'I never use <\/span><span style=' font-family: monospace;'>validatestring<\/span><span> so I don't care'. However, it turns out that hundreds of functions in base MATLAB and the various toolboxes <\/span><span style=' font-weight: bold;'>do<\/span><span> use it; usually (but not always) as part of argument handling so all of these will be a little bit faster too. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>For many functions, the time taken by <\/span><span style=' font-family: monospace;'>validatestring<\/span><span>, before and after this update, is often negligible compared to the rest of the work that the function does. This brings us back to 'why should I care?'. However, this update is part of a wider pattern you'll have seen over the last few years: <\/span><span style=' font-weight: bold;'>The MATLAB language is consistently getting faster.<\/span><span> <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Sometimes we make a big deal out of this such as when <\/span><a href = \"https:\/\/blogs.mathworks.com\/matlab\/2023\/03\/16\/function-handles-are-faster-in-matlab-r2023a\/\"><span>function handles were made faster in R2023a<\/span><\/a><span> or the big object optimizations  I discussed above. Other times it's just an entry in the release notes. Some improvements are made incidentally and don't even make the release notes at all. One example being my discovery that vector concatenation was <\/span><a href = \"https:\/\/blogs.mathworks.com\/matlab\/2026\/02\/18\/faster-vector-concatenation-in-matlab-r2024b-and-later\/\"><span>made slightly faster in R2024b<\/span><\/a><span>.<\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>3D Scenarios in Mapping Toolbox<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The new <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/map\/ref\/install3dscenarios.html\"><span>3D Scenarios add-on to Mapping Toolbox<\/span><\/a><span> enables you to build, visualize, and simulate scenarios in a 3D geographic environment and I created the animation below by working through the <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/map\/get-started-with-3d-scenarios.html\"><span>Create 3D Scenarios example<\/span><\/a><span> in R2026b. The simulation is of a car traveling through Manhattan, using real buildings data obtained from OpenStreetMap and a programmatically defined driving route. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The line that follows the car is a line-of-sight calculation from a simulated tower that's located just above one of the buildings. When it's a dotted red-line, the car cannot be seen from the tower and when it's green, it can.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><iframe class = \"onlineVideoNode\" src = \"https:\/\/www.youtube.com\/embed\/cI49wrMPV5w\" width = \"560\" height = \"315\"><\/iframe><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Another built-in example swaps the car for an aircraft. The <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/map\/visualize-aircraft-line-of-sight-over-terrain.html\"><span>Visualize Aircraft Line-of-Sight over Terrain<\/span><\/a><span> example uses terrain data from the United States Geological Survey (USGS) of an area around Boulder, Colorado in the USA. It defines a radar ground location at Rocky Mountain Metropolitan Airport and simulates a circular flight path. I could have created a similar animation to the one above but I'll just leave you with a visualization of the LOS analysis.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_7.png\" width = \"388\" height = \"291\" alt = \"\" style = \"vertical-align: baseline; width: 388px; height: 291px;\"><\/img><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>Did I miss your favorite update?<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>I had hundreds of updates to choose from and I only selected 9. Take a look at the release notes for yourself and pick out your favorites for R2026b. Let me know in the comments.<\/span><\/div>\r\n<\/div><script type=\"text\/javascript\">var css = '.eoOutputWrapper { width: calc(90vw - 10px) !important; } \/* Styling that is common to warnings and errors is in diagnosticOutput.css *\/.embeddedOutputsErrorElement {    min-height: 18px;    max-height: 550px;} .embeddedOutputsErrorElement .diagnosticMessage-errorType {    overflow: auto;} .embeddedOutputsErrorElement.activeOutput .eoOutputContent {    user-select: text;    -webkit-user-select: text;} .embeddedOutputsErrorElement.activeOutput .eoOutputContent button {    user-select: none;    -webkit-user-select: none;} .embeddedOutputsErrorElement .eoOutputContent ::selection {} .embeddedOutputsErrorElement.inlineElement {} .embeddedOutputsErrorElement.rightPaneElement {} \/* Styling that is common to warnings and errors is in diagnosticOutput.css *\/.embeddedOutputsWarningElement {    min-height: 18px;    max-height: 550px;} .embeddedOutputsWarningElement .diagnosticMessage-warningType {    overflow: auto;} .embeddedOutputsWarningElement.activeOutput .eoOutputContent {    user-select: text;    -webkit-user-select: text;} .embeddedOutputsWarningElement .eoOutputContent ::selection {} .embeddedOutputsWarningElement.inlineElement {} .embeddedOutputsWarningElement.rightPaneElement {} \/* Copyright 2015-2023 The MathWorks, Inc. *\/\/* In this file, styles are not scoped to rtcContainer since they could be in the Dojo Tooltip *\/.diagnosticMessage-wrapper {    font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;    font-size: 12px;} .diagnosticMessage-wrapper.diagnosticMessage-warningType {    \/*This fallback value will be used for appdesigner warnings*\/    color: var(--rtc-warning-output-color, var(--mw-color-matlabWarning));} .diagnosticMessage-wrapper.diagnosticMessage-warningType a {    \/*This fallback value will be used for appdesigner warnings*\/    color: var(--rtc-warning-output-color, var(--mw-color-matlabWarning));    text-decoration: underline;} .rtcThemeDefaultOverride .diagnosticMessage-wrapper.diagnosticMessage-warningType,.rtcThemeDefaultOverride .diagnosticMessage-wrapper.diagnosticMessage-warningType a {    color: var(--mw-color-matlabWarning) !important;} .diagnosticMessage-wrapper.diagnosticMessage-errorType {    \/*This fallback value will be used in appdesigner error tooltip text*\/    color: var(--rtc-error-output-color, var(--mw-color-matlabErrors));} .diagnosticMessage-wrapper.diagnosticMessage-errorType a {    \/*This fallback value will be used in appdesigner error tooltip text*\/    color: var(--rtc-error-output-color, var(--mw-color-matlabErrors));    text-decoration: underline;} .rtcThemeDefaultOverride .diagnosticMessage-wrapper.diagnosticMessage-errorType,.rtcThemeDefaultOverride .diagnosticMessage-wrapper.diagnosticMessage-errorType a {    color: var(--mw-color-matlabErrors) !important;} .diagnosticMessage-wrapper .diagnosticMessage-messagePart,.diagnosticMessage-wrapper .diagnosticMessage-causePart {    white-space: pre-wrap;} .diagnosticMessage-wrapper .diagnosticMessage-stackPart {    white-space: pre;} .embeddedOutputsTextElement,.embeddedOutputsVariableStringElement {    white-space: pre;    word-wrap:  initial;    min-height: 18px;    max-height: 550px;} .embeddedOutputsTextElement .textElement,.embeddedOutputsVariableStringElement .textElement {    overflow: auto;} .embeddedOutputsTextElement.activeOutput .eoOutputContent,.embeddedOutputsVariableStringElement.activeOutput .eoOutputContent {    user-select: text;    -webkit-user-select: text;} \/*embeddedOutputsTextElement has a different dom structure than embeddedOutputsVariableStringElement.Unlike variableString, the text output has both TEXT nodes and elements as children. Hence we needa selector for each.*\/.embeddedOutputsTextElement .eoOutputContent::selection,.embeddedOutputsTextElement .eoOutputContent ::selection,.embeddedOutputsVariableStringElement .eoOutputContent ::selection {} .textElement,.rtcDataTipElement .textElement {    padding-top: 2px;} .embeddedOutputsTextElement.inlineElement,.embeddedOutputsVariableStringElement.inlineElement {} .inlineElement .textElement {} .embeddedOutputsTextElement.rightPaneElement,.embeddedOutputsVariableStringElement.rightPaneElement {    min-height: 16px;} .rightPaneElement .textElement {    padding-top: 2px;    padding-left: 9px;}'; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script>","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/matlab\/files\/2026\/10\/newReleaseR2026b_2.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><p>My various social media feeds are full of discussion of the September \"Back-to-school\" reset. I feel it too, even though it's now 30 years since I started my undergraduate physics degree at The... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/matlab\/2026\/10\/01\/a-look-at-some-of-whats-new-in-matlab-r2026b\/\">read more >><\/a><\/p>","protected":false},"author":176,"featured_media":4369,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,101],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4376"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/users\/176"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/comments?post=4376"}],"version-history":[{"count":2,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4376\/revisions"}],"predecessor-version":[{"id":4378,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4376\/revisions\/4378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media\/4369"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media?parent=4376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/categories?post=4376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/tags?post=4376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}