SPM/Which version of MATLAB
From Wikibooks, the open-content textbooks collection
[edit] Introduction
MATLAB (The MathWorks) is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Its syntax is close to that of matrix algebra, making the code an effective pseudo-code for the algorithms, and leading to fast development times.
The SPM software is a collection of MATLAB functions and thus requires the MATLAB software to be installed on your computer in order to run. SPM requires only core MATLAB to run (no special toolboxes are required - unless stated otherwise).
See the System Requirements page for a list of suitable platforms to run MATLAB and the Platform Roadmap for the correspondence between MATLAB versions and supported platforms.
Each SPM version was written for a particular MATLAB version and will not work with earlier versions. MATLAB versions released after SPM can have some peculiarities but SPM developers try to provide compatibility fixes in the updates (at least for recent SPM versions).
[edit] MEX files
Whilst the majority of the code is implemented as standard MATLAB M-files, SPM also uses external MEX files, written in C, to perform some of the more computationally intensive operations. Pre-compiled binaries of these external C-MEX routines are provided for several platforms and correspond to files with extensions .dll, .mexwin32, .mexwin64, .mexlx, .mexglx, .mexa64, .mexsol, .mexs64, .mexmac, .mexmaci, .mexmaci64.
If the compiled MEX-files are provided for your platform, then SPM should work straight out of the box. If they are not provided or if they appear to be incompatible with your system, then you will need to create the MEX files using a suitable C compiler and the Makefile provided with the SPM distribution. To do so, follow the indications given in these pages for the corresponding platform:
- Windows 32 bit
- Windows 64 bit
- Linux 32 bit
- Linux 64 bit
- Mac PowerPC
- Mac Intel 32 bit
- Mac Intel 64 bit
- Solaris 32 bit
- Solaris 64 bit
These technical solutions from MathWorks might sometimes help:
- http://www.mathworks.com/support/solutions/data/1-QBCS1.html
- http://www.mathworks.com/support/solutions/data/1-PB3LI.html
- http://www.mathworks.com/support/solutions/data/1-OQSVI.html
[edit] MATLAB Compatibility with SPM
| Version | Release | Date | SPM8 [1] | SPM5 [1] | SPM2 | SPM99 |
|---|---|---|---|---|---|---|
| 7.9 | R2009b | 2009 | ||||
| 7.8 | R2009a | 2009 | ||||
| 7.7 | R2008b | 2008 | ||||
| 7.6 | R2008a | 2008 | ||||
| 7.5 | R2007b | 2007 | ||||
| 7.4 | R2007a | 2007 | ||||
| 7.3 | R2006b | 2006 | [2] | [3] | ||
| 7.2 | R2006a | 2006 | [2] | |||
| 7.1 | R14SP3 | 2005 | [2] | |||
| 7.0.4 | R14SP2 | 2005 | [4] | |||
| 7.0.1 | R14SP1 | 2004 | ||||
| 7 | R14 | 2004 | ||||
| 6.5.2 | R13SP2 | 2003 | ||||
| 6.5.1 | R13SP1 | 2003 | ||||
| 6.5 | R13 | 2002 | ||||
| 6.1 | R12.1 | 2001 | ||||
| 6.0 | R12 | 2000 | ||||
| 5.3.1 | R11.1 | 1999 | ||||
| 5.3 | R11 | 1999 | ||||
| 5.2.1 | R10.1 | 1998 |
| Compatible | Compatible after fix | Incompatible | Unknown |
- ↑ a b The Mathworks Signal Processing Toolbox is required for M/EEG preprocessings (filtering, downsampling)
- ↑ a b c Some functionalities in the MEEG Review facility are disabled with these versions.
- ↑ See this modification.
- ↑ A potential problem, see http://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0703&L=spm&P=1713
[edit] Scilab and Octave
Scilab and Octave are free clones of MATLAB, but SPM does not currently run on either. Porting SPM to these environments should be feasible but would require an important investment.