Matlab打开SLX格式报错误open145

matlab 打开模型报错误使用open line145 does not contain a valid modle in SLX format :could not open sourse package

img

根据提供的参考资料和错误代码和信息,该问题可能是以下其中的一个原因导致的:

  1. SLX文件的存储路径中含有中文;
  2. SLX文件中有分隔符号“_”;
  3. SLX文件中有中文的括号“()”;
  4. SLX文件版本过高,低版本通常打不开高版本的SLX文件;
  5. Matlab版本太低,无法打开较新版本的SLX文件;
  6. SLX文件的命名中含有非法字符;
  7. Matlab安装路径含有中文导致加载lib失败等路径问题;
  8. 文件路径中的中文乱码导致Matlab无法正确读取文件。

解决方案:

  1. 将SLX文件存储路径中的中文去掉,改为英文或数字;
  2. 将SLX文件中的分隔符号“_”也去掉;
  3. 将SLX文件中的中文括号“()”也去掉;
  4. 将SLX文件转换为低版本的格式(如.mdl格式),或者更新Matlab的版本;
  5. 更新Matlab到较新的版本;
  6. 将SLX文件的命名修改为只含有字母、数字或下划线等合法字符的命名;
  7. 将Matlab安装路径改为不含中文的路径,或者将路径中的中文转换为英文;
  8. 将文件路径中的中文乱码转换为正确的中文或英文。

代码示例:

  1. 修改SLX文件的存储路径中的中文为英文:
old_path = '路径中的中文';
new_path = 'Path in English';
movefile(fullfile(old_path, 'xx.slx'), fullfile(new_path, 'xx.slx'));
  1. 将SLX文件转换为低版本的.mdl格式:
slx_file = 'xx.slx';
mdl_file = 'xx.mdl';
open_system(slx_file);
save_system(mdl_file);
close_system(slx_file);
  1. 将Matlab安装路径修改为不含中文:

直接修改Matlab的安装路径即可。

  1. 将文件路径中的中文乱码转换为正确的中文或英文:
% 首先获得路径中的中文乱码
old_path = '路径中的中文乱码';
new_path = correct_path(old_path); % 使用一些字符串处理函数将乱码转换为正确的中文或英文
movefile(fullfile(old_path, 'xx.slx'), fullfile(new_path, 'xx.slx'));