You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
Is there any difference between Matlab 2019 and 2015?
12 views (last 30 days)
Show older comments
Are there any significant improvents between Matlab 2019 and 2015 versions? Looking for some good reasons to buy/upgrade.
17 Comments
Walter Roberson
on 8 Jul 2019
John D'Errico
on 8 Jul 2019
There are all sort of changes made. But are they significant? That is only your decision, because only you know if something that seems minor to the rest of the world is of use to you. So read the release notes.
Walter Roberson
on 8 Jul 2019
In my experience, I find that R2016b had a number of significant improvements. Implicit expansion is the only one that comes to mind at the moment, but as I answer Questions here I keep encountering cases where functionality was introduced in R2016b. Oh yes, string objects is another R2016b introduction.
Erich Lim
on 9 Jul 2019
Will I be able to upgrade to the 2020 version for free when it comes out this year, if I buy the 2019a version.
Rik
on 9 Jul 2019
If I recall correctly you get an Software Maintenance Subscription for a year included in your purchase. If R2020a should then be reasonable to expect, R2020b will probably be longer than a year from now.
Also, 2016b is the first release where you can put functions in a script, which means the syntax checker is more strict for scripts than previous releases. Personally I keep the list below with the most important changes for me personally. But as John said, what is important is dependent on what you do.
MATLAB 6.5 R13
MATLAB 7.0 R14 first release with anon functions
MATLAB 7.1 R14SP3 last release toc(t) could have been introduced (documented since 2008b)
MATLAB 7.2 R2006a first release with fopen(UTF8)
MATLAB 7.3 R2006b
MATLAB 7.4 R2007a
MATLAB 7.5 R2007b first release with catch ME
MATLAB 7.6 R2008a
MATLAB 7.7 R2008b
MATLAB 7.8 R2009a
MATLAB 7.9 R2009b first release with ~
MATLAB 7.10 R2010a
MATLAB 7.11 R2010b
MATLAB 7.12 R2011a
MATLAB 7.13 R2011b
MATLAB 7.14 R2012a
MATLAB 8.0 R2012b first release with toolstrip
MATLAB 8.1 R2013a
MATLAB 8.2 R2013b first release with table data type
MATLAB 8.3 R2014a
MATLAB 8.4 R2014b first release with HG2
MATLAB 8.5 R2015a last release for XP/Vista
MATLAB 8.6 R2015b last release for 32 bit
MATLAB 9.0 R2016a first release with live script and pause during exec
MATLAB 9.1 R2016b first release of implicit expansion (see bsxfun, 2006b or later), and string data type, first release supporting functions embedded in scripts
MATLAB 9.2 R2017a
MATLAB 9.3 R2017b
MATLAB 9.4 R2018a .mlapp format changed
MATLAB 9.5 R2018b mouse-over axes toolbar
MATLAB 9.6 R2019a
Guillaume
on 9 Jul 2019
"If I recall correctly you get an Software Maintenance Subscription for a year included in your purchase"
Yes, all licenses (home, student, academic, commercial) come with 1 year maintenance.If purchased now, you'll get 2019b and 2020a. 2019b is coming out soon, so if purchased after it's out, you'll get 2020a and 2020b.
Erich Lim
on 9 Jul 2019
I see. Is the b version generally improved and better than the a versions? Will 2020a be better than 2019b or vice versa?
Rik
on 9 Jul 2019
There isn't really a hierarchy in the a or b releases (although some suggest the b release is generally more stable). I know some people upgrade yearly and pick either the a or b release, while others upgrade biannually.
If a release is "better" than its predecessor is partially a personal call. There are changes from release to release, some you might want, others you might not want. Generally a newer release will require a bit more memory and take a bit longer to start up, but will run your code a bit faster.
Erich Lim
on 9 Jul 2019
Matlab claims the 2019a version runs code twice as fast as the 2015 versions. Is this true or just a bold claim?
Guillaume
on 9 Jul 2019
They're obviously not going to lie. Whether or not you see the speed improvement will depend on your workflow.
You can always ask for a trial version and check for yourself.
Jan
on 9 Jul 2019
Well, I'd hesitate to claim, that Matlab has become much faster. See e.g. https://www.mathworks.com/matlabcentral/answers/403786-different-speed-of-execution-of-the-same-code-in-different-versions-matlab-2014b-and-2017a where a script slowed down by a factor of 4 between R2014a to 2018a.
One of the programs I use opens 4 figures with some dozens of diagrams and legends. It took 0.5 seconds for the graphics in R5.3, 0.6 s in 6.5, 0.9 s in 2009a and 3.5 s in 2018b. The actual computations have been accelerated from 4 s to 3 s. Note, that the older Matlab versions run with a single thread in a virtual machine, while the modern versions are multi-threaded and run on a physical computer.
The ancient versions needed only some seconds to startup, while the modern versions feel very tired until the command window is up, even considering the startup-accelerator, which starts some features automatically after the login of the user.
For my work, the computations in Matlab have become significantly slower in the last decade, even considering, that I run it on faster hardware now. But the total workflow is more efficient: Loosing 1 second of processing time is nothing compared to saving hours for debug time by the smart MLint hints. Typos in ~cellfun('isempty', strfind(CellString, keyword)) are more likely than in contains(CellString, keyword).
Rik
on 9 Jul 2019
Unless when I'm dealing with larger data sets, it is often the fastest to write it in a modern release and then refactor to be compatible with ML6.5. Especially file interactions, regexp capabilities, and functions like ismember have seen major improvements. Rapid prototyping is a lot easier, but for code that can run overnight I would try to get it to work in ML6.5. I don't know if it would be a smarter move to pick a middle ground, or if that would the worst of both.
I wonder if it would be a smart move for Mathworks to develop a fast-n-light version as well, so we have an update for ML6.5. To be fair, I haven't tried anything older than 2011b (which currently requires RunAsDate to work).
Steven Lord
on 8 Nov 2019
I wonder if it would be a smart move for Mathworks to develop a fast-n-light version as well, so we have an update for ML6.5.
What functionality would you want to be in such a "fast-n-light version", and how strenuously would you protest if someone else insisted something on their list but not on yours needed to be added to the "fast-n-light version"?
FYI re: functionality included in newer releases, the Wikipedia page for MATLAB lists a number of features that Wikipedia editors thought were significant. For the past couple releases that list hasn't been populated, but if there are particular pieces of functionality that you think would be worth calling out it's Wikipedia so you could add to it.
Rik
on 10 Nov 2019
Obviously I want all features I currently use, and don't think any others are important enough to be in that 'fast-n-light' version ;)
I think you highlight the most difficult point about this idea. I am well aware that Mathworks is not making Matlab slower on purpose and are working hard to improve performance for every new release. There just seems to be a big gap between performance of R13 and R14, and I have trouble finding the reason for this in the list of features.
So I think my serious answer would be this: fast-n-light should 'only' include the feature set of R13, plus the modern syntax additions (no syntax error on @() (even if you would still need to use inline functions), ~ output suppression, etc), m-lint, and the table and string data types.
If it would include more, that would defeat the purpose, as every part of Matlab is used by someone. So this would make everyone equally unhappy, which is one of the definitions of the word 'compromise'.
Guillaume
on 11 Nov 2019
and the table
Already you've made a selection (why not categoricals and datetime for example). In addition, tables come with a lot of baggage, which you'd have to either rip out or fully reimplement. Tables have special code paths to support the aforementioned categorical and datetime. They also need come with readtable, and writetable which reimplement all the excel reading and writing (independently of xlsread and xlswrite). And you need all the detectimportoptions business. In addition, the class derives from the hidden (and sadly undocumented) matlab.mixin.internal.indexing.DotParen which I think reimplements dot indexing (in a saner way than doing it through subref)...
James Tursa
on 25 Nov 2019
Changes to the storage format for complex variables in R2018a will also result in significant speed differences for certain operations. Some will get faster and some will get slower depending on what you are doing compared to earlier versions. E.g., see this link:
Mohammad Vahab
on 29 Apr 2020
I am running same code on similar workstations, and I can see 100% enhanced performance by using matlab 2019a! The analysis is using 4 cores, through parfor... If you plan to run parallel analysis, I strongly recommend to upgrade to the latest version!
Answers (1)
youssef aider
on 8 Nov 2019
The 2019 version is very faster. you can solve complicated problems much more efficiently without the need for low level programming languages.
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)