views:

232

answers:

3

I'm now learning a bit of MATLAB and I have two versions of it. Version 4.2c, that I use on my emulated Windows 3.11 and the lastest one, that I use on my Windows Vista.

Here is a screenshot of it:
MATLAB 4.2c On My Windows 3.11

Then I want to know:

  • What are the main differences?
  • There are any difference in the language itself?
  • New librarys will work?
+5  A: 

EDIT: Now that I see the screenshot, I realize you really are referring to MATLAB Version 4.2c (R7). I thought perhaps you were mistakenly referring to the MATLAB Compiler instead, since I didn't think anyone would still be using a version that's over 15 years old! The oldest version I've used was when I first started learning MATLAB in 1996 on Version 5.0 (R8)!

The basic matrix and vector operations probably haven't changed much since Version 4.2c, although there are some newer functions to manipulate matrix data in different ways, like ACCUMARRAY, BSXFUN, and ARRAYFUN to name a few. Virtually everything else has probably changed in some subtle or not-so-subtle way: the MATLAB Desktop and Editor, graphics and plotting tools, creating graphical user interfaces, etc.. You can also do object-oriented programming now using MATLAB classes.

Anyhow, for all MATLAB releases starting from the newest Version 7.9 (R2009b) and going all the way back to Version 7 (R14, 2004) you can find the release notes on The MathWorks website. These release notes highlight the new features and bug fixes added to each MATLAB version since the previous release. For example, in order to see the difference between Versions 7.6 and 7.9, you'd have to look through the release notes from 7.7, 7.8, and 7.9. If you really need release notes going farther back in time, you will probably have to contact the MathWorks directly.

P.S. I may actually still have my old notes from my first MATLAB course, which I'm tempted to dig out of storage and take a look at just to see what may have changed since then. ;)

gnovice
no, he *is* talking about 4.2c, see the screenshot.
Jason S
What I don't still have is the old floppy disk with what I assume was roughly version 1 of Matlab on it. Of course, I don't have a drive that would read it anyway.
woodchips
@woodchips: That's a shame. I'd love to see what "baby MATLAB" looked like. I think I've still got some old Version 5.2 disks collecting dust somewhere.
gnovice
3.5" or 5.25"? Haha
Doresoom
+3  A: 

what isn't different?

I have no idea how much new has been added since then. I remember first learning about MATLAB around then and turning my nose up at the program... my guess is that you would find all the basic operations the same, because I remember these things working:

  • vector & matrix manipulation
  • elementary functions
  • basic plotting (e.g. plot, subplot functions)
  • .m file syntax

There's all sorts of stuff nowadays, particularly the toolboxes, things like the integrated debugger (breakpoints!) and profiler, just-in-time compilation (for-loops are much quicker now), GUI development, object-oriented syntax, Simulink, etc. etc.

You'll just have to try it and see... I have found in the last 10 years that there has been very little backwards compatibility trouble with matlab. The only thing I can remember that was challenging was some of the corner cases changed with handle graphics between v6 and v7.

Jason S
+2  A: 

There are a huge number of differences since that time. New variable types (logical, sparse, cell arrays, uint(N), single, etc.), objects, anonymous and nested functions, gui tools, toolbox changes galore.

Having said that, I have code written in 1988 (20+ years) that still runs with essentially no change. (Maybe version 3.5 or so?) And I just tripped recently over a piece of code from that era that is still actively being used.

The MathWorks does make great efforts to continue backwards compatibility for all code. Only under a great deal of discussion do they break that rule.

woodchips

related questions