跳转到内容

SPM/独立版

来自维基教科书,自由的教科书
< SPM

SPM 独立版是使用 MATLAB Compiler 编译的 SPM 版本,因此不需要 MATLAB 许可证(您可能想先查看 这里 是否可以访问 MATLAB 校园许可证)。

SPM12 的独立版 可从 SPM 网站下载(选择“SPM 独立版”作为“SPM 版本”)。如果您需要帮助,请联系 [email protected]

根据您的请求,您将获得以下组件的下载说明

  • MATLAB 运行时:它包含一组库,用于启用编译的 MATLAB 应用程序的执行。您需要安装与您的平台(Windows、Linux 或 macOS)以及用于编译 SPM 的版本相对应的运行时。默认 SPM 独立版需要 MATLAB R2010a 的 MATLAB Compiler Runtime (MCR) 7.13,该版本可从您将获得的链接中的 MCR 文件夹中获得。否则,您可以从 这里 下载更新的 MATLAB 运行时。
  • SPM 独立版 本身包含编译的 SPM,作为 ZIP 文件。

MATLAB 运行时安装

[编辑 | 编辑源代码]

即使您使用多个版本的独立版 SPM,您也只需要执行此操作一次。

运行您下载的 MCRInstaller 可执行文件并按照说明操作。

Windows 安装需要具有管理员权限,您可能还需要安装 Visual C++ Redistributable Package (vcredist_*.exe),该软件包与 MCRInstaller 位于同一文件夹中。我们还建议您在此处重新启动 Windows。

如果您遇到问题或想了解更多信息,请参阅

要从命令行在 Linux 上安装 MCR,请输入

chmod 755 MCRInstaller.bin
./MCRInstaller.bin -P bean421.installLocation="MCR" -silent

SPM 独立版安装

[编辑 | 编辑源代码]
  • 将包含 SPM 独立版的 spm12_rxxx.zip 存档解压缩到适当的文件夹中。它包含许多针对每个支持平台的小型可执行文件以及一个大型 spm12.ctf 文件,其中包含编译后的 SPM12 版本。
  • 独立版应用程序首次执行时,CTF 文件将被解压缩到子文件夹中,因此,如果您将 CTF 安装到需要写入访问权限的管理员权限的文件夹中,则应在这些权限下执行该应用程序一次 - 参见下文。
  • Mac 上,您还需要解压缩 spm12_maci64.zip 存档。

要启动 SPM 图形用户界面

  • 在 Windows 上:双击 spm12_wxx.exe
  • 在 Linux 上,请输入
./run_spm12.sh /usr/local/MATLAB/MATLAB_Compiler_Runtime/v713/

其中参数是 MCR 安装的路径。

  • 在 Mac 上,请输入
./run_spm12.sh /Applications/MATLAB/MATLAB_Compiler_Runtime/v713/

其中参数是 MCR 安装的路径。

第一次执行应该需要更长时间才能启动,因为 CTF 文件将被解压缩。在系统范围内安装 SPM 时,您应该以 root 身份执行第一次解压缩执行,即

./run_spm12.sh /usr/local/MATLAB/MATLAB_Compiler_Runtime/v713/ quit

在 Linux/Mac 上,您可以编辑 Shell 脚本 run_spm12.sh 以硬编码 MCR 安装的位置,从而无需在命令行中提供它。

可以使用的其他参数是模态(如 `spm fmri`)或关键字 `batch` 以直接启动批处理系统窗口,例如

./run_spm12.sh /Applications/MATLAB/MATLAB_Compiler_Runtime/v713/ fmri
./run_spm12.sh /Applications/MATLAB/MATLAB_Compiler_Runtime/v713/ batch

此外,`batch` 后跟批处理文件名 (*.mat*.m) 将启动 SPM,执行批处理并退出

./run_spm12.sh /Applications/MATLAB/MATLAB_Compiler_Runtime/v713/ batch mybatch.mat

故障排除

[编辑 | 编辑源代码]
  • 为什么我会收到关于缺少 mclmcrrt7x.dll 的错误?

首先尝试重新启动计算机,如果您还没有重启,因为即使路径设置正确,Windows 也可能无法找到此 dll,如果它没有重启。如果您仍然遇到问题,请参阅:http://www.mathworks.com/support/solutions/en/data/1-1IW46N/

  • 如果我收到错误“无法获得 CTF 目录的独占锁,因为文件访问错误。”怎么办?

您需要将变量 MCR_INHIBIT_CTF_LOCK 设置为 1,请参阅 这里

  • 如果我在 Mac 上收到错误“readlink:非法选项 -- f”怎么办?

更改 run_spm12.sh 的最后一行,使其读取

`dirname $0`/${MACAPP}spm12_${MWE_ARCH} $*
  • 如何使用单个计算线程使用独立版?

所有最近版本的独立版 SPM 都是使用 "-R -singleCompThread" 标志在 mcc 中编译的,因此它们在运行时将使用单个线程。

之前的版本 r4290 没有使用此编译选项,因此您可能希望让您的 MATLAB 脚本以 maxNumCompThreads(1); 开始,以获得相同的效果。

  • 为什么我会收到警告“进程管理器已初始化 -- 无法完全启用无头模式。”然后在 Mac OS 上崩溃?

尝试安装 XQuartz(您必须在安装 XQuartz 后注销并重新登录)。

  • 如果我收到错误“错误:libXp.so.6:无法打开共享对象文件:没有此文件或目录”怎么办?

您需要在 Linux 平台上安装包含 libXp 的软件包

yum install libXp.x86_64

如果您在 Ubuntu 上找不到此软件包,请尝试手动安装 libXp(编译可能需要安装软件包 autoconf autogen xutils-devx11proto-print-dev

git clone git://anongit.freedesktop.org/xorg/lib/libXp
cd libXp
./autogen.sh
./configure
make
sudo make install

或者,您可以找到适用于 UbuntuDebian 的软件包,这些软件包可以在下载后使用 dpkg -i libxp6_1.0.2-2_amd64.deb 安装。

  • 如果我收到错误“此进程试图通过路径将项目从 Time Machine 中排除,但没有管理员权限。这不受支持。”怎么办?

以 root 身份运行独立版一次,即使用 sudo 启动命令行。

  • 为什么我在 Mac 上收到错误“库未加载:/usr/X11/lib/libXext.6.dylib”?

请查看 [1],您可能需要重新安装 XQuartz

  • 为什么独立版 SPM 在启动 GUI 时会崩溃?

这是 这里 讨论的,可以通过在 run_spm12.sh 中添加以下内容来解决

SPM_HTML_BROWSER=0

常见问题解答

[编辑 | 编辑源代码]
  • 它会运行得更快吗?

不:https://www.mathworks.com/matlabcentral/answers/94695

  • 是否可以添加其他 SPM 工具箱?

不:只有核心 SPM 工具箱可用,贡献的 SPM 工具箱不存在,也不能在不进行全面重新编译的情况下添加。

  • 如何自己编译 SPM 独立版?

请查看 SPM 安装中的 config/spm_make_standalone.mspm_standalone.m

打开 MATLAB,在命令行中,添加 SPM 目录的路径(如果还没有添加),运行 spm_jobman('initcfg'),然后运行 spm_make_standalone。编译过程需要几分钟。默认情况下,新编译的独立版 SPM 将保存在 standalone 目录中。

  • 如何在桌面上创建快捷方式以更快地启动?

在 Linux 上,要实现菜单项,您可以安装相应的 .desktop 文件和 SPM 的图标文件。例如,将以下内容保存为 spm12.desktop(根据您的需要/MCR 版本进行修改)

 [Desktop Entry]
 Name=spm12
 GenericName=SPM12
 Comment=Statistical Parametric Mapping
 Exec=/usr/local/SPM/spm12/run_spm12.sh /usr/local/MATLAB/MATLAB_Compiler_Runtime/v713
 Icon=spm
 Terminal=false
 Type=Application
 Categories=Education;Science;

此外,从 https://www.fil.ion.ucl.ac.uk/spm/favicon.ico 获取 SPM 图标,并将其转换为 png 文件,将其命名为 spm.png(这是 .desktop 文件中提到的图标)。

然后(需要 xdg-utils 软件包)在终端中执行

 xdg-desktop-menu install --novendor spm12.desktop
 xdg-icon-resource install --novendor --size 32 spm.png

要卸载桌面和图标文件,请运行

 xdg-icon-resource uninstall --size 32 spm
 xdg-desktop-menu uninstall spm12.desktop

MATLAB Compiler Toolbox 演示

MATLAB Compiler Toolbox 文档

MATLAB Compiler 支持页面

华夏公益教科书