CoSMoMVPA is written with simplicity in mind, and therefore does not require one to be a Matlab expert. However, some minimal knowledge is required. To assess your knowledge of Matlab, below we describe some (subjectively chosen) criteria.
Using these criteria, we would argue that using CoSMoMVPA to analyze your data requires at least the advanced beginner level.
In order to understand implementations, and/or contribute code, the competent level would be required and the proficient level is preferable.
The advanced beginner should know be familiar with:
starting and exiting Matlab.
modifying the Matlab path.
using the Matlab editor.
structdata objects, and how to store data in and retrieve data from these.
the difference between a
the concepts of a scalar, row vector, column vector, and matrix.
difference between a
function, and see the
helpdocumentation associated with a function.
be familiar with
In addition, the competent user should be familiar with:
using function handles.
allocating memory for data.
difference between using a binary mask and indices to access values in a
linear and subscripts to access values in a
perform basic string manipulations.
In addition, the proficient user should be familar with:
nested function handles and Currying.
the debugging mode and using break points.
space- and time complexity.
basic linear algebra.
linear- and sub-indexing.
modular design of functions.
namespaces and closures.
(Some other advanced concepts include exceptions and object-oriented programming, but these are, by deliberate decision, not used in CoSMoMVPA).
We have no idea what an expert user should be able to do, because we don’t consider ourselves in that category.