如何读取用更高版本的 Scilab 创建的 SOD 文件?

How to read a SOD file created with later version of Scilab?

我正在使用两个版本的 Scilab:6.1 和 5.5。 (因为6.1有fromJSON功能)

在6.1中,我在SOD文件中保存了一个结构,the format used by Scilab since 5.2

save('path/to/file.sod', 'variable')

在 5.5 中,我需要阅读此结构才能在其他地方使用它。

load('path/to/file.sod', 'variable')

但是这个returns错误listvar_in_hdf5 : Wrong version of SOD file. Max value expected : 2. found : 3

有没有办法指定用于保存或加载的 SOD 格式版本?或者另一种在 6.1 中保存数据并在 5.5 中加载数据的方法? 我尝试使用 hdf5 但没有成功。看来我不会管理结构

谢谢!

如果您的问题是特定于结构的,您可以通过保存为 Matlab v7 格式来解决它。这是在 Scilab 6.1.1

中创建数据文件的示例
--> getversion
 ans  =

  "scilab-6.1.1"

--> x=struct("a",1,"b",2); savematfile("data.mat","x","-v7")

然后在 Scilab 5.5.2 中加载:

-->getversion
 ans  =
 
 scilab-5.5.2   
 
-->loadmatfile data.mat; x
 x  =
 
   a: 1
   b: 2