spineVersion

Report which copy of SPINE is running, and what it is.
A stale copy of SPINE elsewhere on your path is found first and runs silently in place of this one, and the results are wrong with no warning. It is a real failure mode, not a hypothetical, and this makes it one word to check.

Syntax

help spineVersion
SPINE Version Report which copy of SPINE is running, and what it is. spineVersion V = spineVersion Prints the version and the full path of every file that MATLAB would resolve for the entry point and the reference core. With an output argument it returns the same information as a structure and prints nothing. The reason this exists: a stale copy of SPINE elsewhere on your path is found first and runs silently in place of this one, and the results are wrong with no warning. It is a real failure mode, not a hypothetical, and this function makes it one word to check. V fields version the implementation version entryPoint resolved path of spine referenceCore resolved path of spineCore duplicates paths of any shadowing copies found, empty when clean matlab the MATLAB release in use Author Abd AlRahman AlMomani Assistant Professor of Data Science and Mathematics, ERAU, AZ almomaniar@gmail.com

On a clean path

spineVersion
SPINE 0.1.0 entry point ...\SPINE\matlab\spine.m reference core ...\SPINE\matlab\core\spineCore.m MATLAB 26.1.0.3276743 (R2026a) Update 3 path clean, no shadowing copies

When something is shadowing

Here a decoy is put on the path deliberately. The copy listed at the top is the one that runs; the warning names the others.
decoy = fullfile(tempdir, 'spine_decoy');
if ~exist(decoy, 'dir'); mkdir(decoy); end
copyfile(which('spine'), fullfile(decoy, 'spine.m'));
addpath(decoy);
 
spineVersion
SPINE 0.1.0 entry point ...\SPINE\matlab\spine.m reference core ...\SPINE\matlab\core\spineCore.m MATLAB 26.1.0.3276743 (R2026a) Update 3 WARNING: 1 other copy of SPINE on your path. The one listed above is the one that runs. The others are ignored only for as long as this path order holds. ~\AppData\Local\Temp\spine_decoy\spine.m
 
rmpath(decoy);

As a structure

With an output argument it returns the same information and prints nothing, which is what to record alongside results.
V = spineVersion;
disp(V)
matlab: '26.1.0.3276743 (R2026a) Update 3' version: "0.1.0" entryPoint: '...\SPINE\matlab\spine.m' referenceCore: '...\SPINE\matlab\core\spineCore.m' duplicates: {2×0 cell}

See also

spine. Record V alongside results, so the copy that produced them stays identifiable.
close all