Software you lose when leaving a university: MATLAB
I’ve been working at The University of Manchester for almost a decade and will be leaving at the end of this week! A huge part of my job was to support a major subset of Manchester’s site licensed application software portfolio so naturally I’ve made use of a lot of it over the years. As of February 20th, I will no longer be entitled to use any of it!
This article is the second in a series where I’ll look at some of the software that’s become important to me and what my options are on leaving Manchester. Here, I consider MATLAB – a technical computing environment that has come to dominate my career at Manchester. For the last 10 years, I’ve used MATLAB at least every week, if not most days.
I had a standalone license for MATLAB and several toolboxes – Simulink, Image Processing, Parallel Computing, Statistics and Optimization. Now, I’ve got nothing! Unfortunately for me, I’ve also got hundreds of scripts, mex files and a few Simulink models that I can no longer run! These are my options:
Go somewhere else that has a MATLAB site license
- I’ll soon be joining the University of Sheffield who have a MATLAB site license. A great option if you can do it.
Use something else
- Octave – Octave is a pretty good free and open source clone of MATLAB and quite a few of my programs would work without modification. Others would require some rewriting and, in some cases, that rewriting could be extensive! There is no Simulink support.
- Scilab – It’s free and it’s MATLAB-like-ish but I’d have to rewrite my code most of the time. I could also port some of my Simulink models to Scilab as was done in this link.
- Rewrite all my code to use something completely different. What I’d choose would depend on what I’m trying to achieve but options include Python, Julia and R among others.
Compile!
- If all I needed was the ability to run a few MATLAB applications I’d written, I could compile them using the MATLAB Compiler and keep the result. The whole point of the MATLAB Compiler is to distribute MATLAB applications to those who don’t have a MATLAB license. Of course once I’ve lost access to MATLAB itself, debugging and adding features will be um……tricky!
Get a hobbyist license for MATLAB
- MATLAB Home – This is the full version of MATLAB for hobbyists. Writing a non-profit blog such as WalkingRandomly counts as a suitable ‘hobby’ activity so I could buy this license. MATLAB itself for 85 pounds with most of the toolboxes coming in at an extra 25 pounds each. Not bad at all! The extra cost of the toolboxes would still lead me to obsess over how to do things without toolboxes but, to be honest, I think that’s an obsession I’d miss if it weren’t there! Buying all of the same toolboxes as I had before would end up costing me a total of £210+VAT.
- Find a MOOC that comes with free MATLAB – Mathworks make MATLAB available for free for students of some online courses such as the one linked to here. Bear in mind, however, that the license only lasts for the duration of the course.
Academic Use
If I were to stay in academia but go to an institution with no MATLAB license, I could buy myself an academic standalone license for MATLAB and the various toolboxes I’m interested in. The price lists are available at http://uk.mathworks.com/pricing-licensing/
For reference, current UK academic prices are
- MATLAB £375 + VAT
- Simulink £375 + VAT
- Standard Toolboxes (statistics, optimisation, image processing etc) £150 +VAT each
- Premium Toolboxes (MATLAB Compiler, MATLAB Coder etc) – Pricing currently not available
My personal mix of MATLAB, Simulink and 4 toolboxes would set me back £1350 + VAT.
Commercial Use
If I were to use MATLAB professionally and outside of academia, I’d need to get a commercial license. Prices are available from the link above which, at the time of writing, are
- MATLAB £1600 +VAT
- Simulink £2400 + VAT
- Standard Toolboxes £800 +VAT each
- Premium Toolboxes – Pricing currently not available
My personal mix of MATLAB, Simulink and 4 toolboxes would set me back £7200 + VAT.
Contact MathWorks
If anyone does find themselves in a situation where they have MATLAB code and no means to run it, then they can always try contacting MathWorks and ask for help in finding a solution.
man, I wish Matlab would be more creative in the ways they distributed their software. Surely they are so embedded in banks and what not that they could charge superusers only. Open source the thing and charge for access to the excellent Matlab support materials. If they do not, then Python will eat all of their lunch, rather than just the parts it has already eaten.
Some years ago, when we weren’t considered academic or academic-equivalent at the institute I worked for, we had a new, MATLAB-heavy PI arrive. All their group used MATLAB, so that was several (I think 8-10) licences and, for various reasons, we didn’t have a site licence. That PI left for a new position very shortly after arriving. There may have been more reasons for this than just the massively-increased licensing cost for software (with no corresponding increase in budget from existing projects) but, if I remember correctly, that financial impact on running the group was a factor.
Try Mathnium.
The best alternative to Matlab. Not built by a committee like Octave.
Send me an email if you need some specific libraries. We have more than what we distribute.
This is a topic that I have continual disagreements with faculty that has the ability to make executive decisions and plan course material. Education is an investment, every drop of it, and the especially big drops that we lap up in the formative years of our education in undergrad colour the tools we use and desire to use to a large degree. Our toolbox is maintained out of habit and out of a frustration with a lack of perceived progress whenever we try to learn a new tool that has little forward benefit in functionality. In research we’re all too concerned with getting the best result (best in the desired metric of course), but forget the huge economic crutch our faculty-funded blindness creates. The reality is that the majority of students going out into the market will not be able to use an expensive tool, especially when consulting, so why not invest our time and other people’s time wiser….especially now projects like (SAGE, SciPy, Julia, Octave, Maxima, FreeMAT, Scilab) are much more competitive. Academia is over-hyped with regard to technical flair, it is the aggregate weight of contributions that have a greater impact on the human condition, or is it that I am missing something here?
I agree with Warren Arthur. There’s the desideratum of learning skills that are usable outside of the oasis of academia, and there’s the desideratum of producing tools that have an impact. Using an expensive closed ecosystem like Matlab is a bad idea for both reasons. Targeting software at open source alternatives that are handicapped by trying to emulate commerical software– SAGE, Octave, FreeMAT come to mind– is arguably as bad. Why not learn the best tools that industry uses and implement our ideas in those directly, so we’re guaranteed a wider audience to use and criticize our ideas and implementations?
Hi Michael, Sorry to see you leave Manchester. Your blog, courses and help have been very useful over the years. I am wrestling with a similar issue that I am developing some commercial aspects to my research. How do I do this with out contravening the site license? Been thinking about using octave but have not made the leap to start that or alternatively pay for a full Matlab license. Good luck in your new role.
cheers
Julian
Hi Julian
Thanks for your kind words. The blog will still be here :)
If you have any questions regarding using MATLAB commercially, contact Mathworks and they’ll help you out.
Let them know I sent you if you like.
Cheers,
Mike
We should not use Matlab in university education at all by several reasons.
(1) We have no courses for other commercial packages (SAS, SPSS, SAP, etc.).
(2) There is nothing on the student level that cannot be done by other software.
(3) Matlab is hell from the student viewpoint (if needed I’ll explain).
(4) Students should learn a solid programming language instead.
(5) It is too expensive.
(6) It keeps academia from developing open, general purpose libraries.
(7) We prepare for real world where things have to be done in a real language.
(8) It is not good enough for computer graphics, algebra, statistics, geometry.
Maybe I could think of some more reasons.
The only reason left is the big hyped community around Matlab. I admit that this is attractive to some. But why not create a big hyped community around an open system?
1. Matlab is a terrible hobby.
2. It’s better spending time with your family than spending money and time on Matlab.
3. Matlab is good when you have something to get from it: publications, degrees, money.
4. Matlab is the best but it is expensive, extremely expensive, even for small/medium businesses that earn money by using it.
5. Matlab should be free for amateur use, mainly because of (2).
6. Matlab should be much cheaper than it is today even for academic/professional use.
7. Matlab for academ/prof use should cost no more than 3000 (pounds, euros, dollars, yuans, rubles, whatever) per license, for the whole package (meaning all toolboxes, everything).
8. With (7) Matlab whould earn more money in “3rd world countries” (from the internationally legal point of view) than it earns today because of software piracy.
9. With (7) Mathworks will survive as a company for the next thousand years.
10. With (4) Matlab eventually will have the fate of the stat progs when R came about.
11. Sooner or later (10) will happen, no matter how good PR Mathworks has in the academic world…
I have tried and been using many programming languages and tools during my life so far.
MATLAB is the one which fits my needs perfectly:
– Script-feeling (compared to the hack-feeling with C++ or C)
– Easy to learn (the basic language at least – I don’t mean the vast number of functions…)
– Great documentation (I used it before the MATLAB Home licence was available)
– Affordable for non-professional usage (Home licence)
– MATLAB helps me to focus on developing the algorithm or the solution
– MATLAB helps me to understand mathematics
– Getting cool results quickly
– I understand my own code even weeks after the time I touched it
– Available resources online (eBooks, blogs, code, online courses etc.)
Don’t get me wrong. I like many other languages as well: C++, C#, Julia, NLP++ and even VBA.
They really need to teach an alternative to Matlab in engineering curriculum. Matlab’s business model is no different than a drug dealer’s:
1) They initially give it to you for free in Academia when you’re still naive and learning
2) Classes involving programming in engineering generally require Matlab (hence, it’s essentially free and you are somewhat forced to use it)
3) Once you get “hooked” on it and leave Academia for the real world, suddenly it costs an exorbitant amount of money.
I developed some open-source (completely free) Matlab software when I was a graduate student. I’ve since graduated and it turns out they modified some things with MEX in the R2015a release of Matlab. This caused the installation script to break (thanks Mathworks for the version compatibility!). I e-mailed Mathworks to get a temporary trial with the only purpose of debugging the script. They initially agreed (after taking 2 days to respond), then later said that I could get it from my university (since my Mathworks account uses my school email) even after I explained in my first e-mail that I had graduated and did not have access to Matlab. It’s been two days since and I have a feeling they’re gonna tell me I’m out of luck or just not respond at all.
I could shell out money for the Home version, but I don’t feel like shelling out ~$200 to debug an issue caused out of version compatibility (which really shouldnt be an issue given the amount of money they charge) for software I’m providing for free.
Another alternative is I could port my software to a difference language (which I did with C++, but many engineering students are not gonna be able to compile an executable in C++ involving multiple external libraries – like suitesparse, fftw, etc which my library uses – without a lot of difficulty), but I know since the audience are engineering students, porting it wont be that effective of a solution. It would only be effective if they started teaching free alternatives from the beginning instead of getting students “hooked” on Matlab in the first place.
Unfortunate, but true.
There have been many times after leaving university when I’d needed numerical programs for some of my work. I do not use them ALL the time, so I’d rather not pay for software that just sits there 95% of the time, but every now and then my work would hit a brick wall because I needed a numerical task done and didn’t have the right tool on-hand. Since then, I have written MANY numerical routines, mostly in C++ and JavaScript, and have posted them for free use online. Furthermore, I have begun posting C++ source code on GitHub, in case anybody else would like to use it. At this point, I think I’ve written programs that handle the most common numerical problems faced by undergraduate students, and perhaps some graduate students.