MATLAB Platform dependency documentation

5 views (last 30 days)
Daniel Shub
Daniel Shub on 29 Jul 2013
I generally think of MATLAB as being platform independent apart from a few will documented toolboxes (both official and unofficial), but this question about character sets just made me realize that there are some "nasty" undocumented dependencies lurking (e.g. a previous question of mine about number format differences).
Are you aware of any platform dependencies? Is there any documentation listing all platform dependencies?

Answers (1)

Jan
Jan on 29 Jul 2013
Edited: Jan on 29 Jul 2013
No, there is no complete listing of platform dependencies.
"Platform dependency" mean several different points:
  • Matlab version
  • 32/64 bit
  • OS type and version
  • CPU manufacturer and version
The Release Notes allow at least to compare different Matlab versions on the same OS and sometimes the same Matlab version on different OS versions. But on one hand these lists are not completely published, and on the other hand you cannot find the required information directly.
The trivial platform dependencies concern the file system:
filesep, pathsep, userpath, fullfile, fileparts
These functions catch the usual differences sufficiently, when you avoid to hard code paths in the code.
The GUIs have not been exactly the same under Windows and Linux in former releases, such that nice GUIs required some additional pixels for the size of some uicontrol's depending on the OS. I did not test this under the modern Java based GUIs.
The background color of buttons is controlled by the OS partially.
MacOS-X seems to suffer dramatically under Java updates, because as far as I understand it uses the Java frequently updated implementation of OS, while under Windows a private version is used and can be tested in consequence. Therefore I'd hesitate to use Matlab under OS-X for productive work. What a pity.
The core functions like acos are compiled by a different compiler and the results can differ due to the limited precision. This cannot be avoided.
AMD processors and SSE implementations handle NaN's much more efficient than the floating point units of Intel processors. Therefore adding ones or nan's can lead to very different timings. This concerns different CPUs and different Matlab versions.

Categories

Find more on Programming 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!