我正在尝试运行依赖于Statistics_Toolbox许可证的第3方工具箱(效果大小测量(MES)工具箱)。如果没有“经典”for 循环,计算就不会出现任何错误;但每当我在并行 for 循环中运行计算时,我都会收到以下错误:
Error using ncpci
tinv requires a Statistics_Toolbox license.
我已使用
ver
命令和license('test', 'Statistics_Toolbox')
命令确认了Statistics_Toolbox许可证的存在。
这是 Matlab 中并行池的预期行为吗?
我正在运行 Ubuntu 22.04 的计算机上运行 MATLAB 版本:9.12.0.1884302 (R2022a)。
MATLAB 在使用 PCT 及其功能时可以做到这一点,例如并行 for 循环。
确保每个工作人员都可以使用统计工具箱许可证。在运行并行代码之前显式设置并行工作人员的许可。例如:
Matlab
% Explicitly set up licensing for parallel workers
parpool('local', numWorkers); % numWorkers is the number of parallel workers you want
% Now, run your parallel code
parfor i = 1:numIterations
% Your parallel computation here
end
% Close the parallel pool when you're done
delete(gcp);
检查工具箱兼容性。如果不完全兼容,可能会导致这种意外的行为。
检查 MATLAB R2022a 是否有可解决此问题的更新、补丁或修补程序。
如果其他方法均失败,请联系 MathWorks 支持寻求帮助。
欢迎来到 Stackoverflow,希望这个答案对您有所帮助。