【发布时间】:2017-04-12 01:13:02
【问题描述】:
我有一个带有struct 属性的类,名为myStruct:
properties
myStruct;
end
我想将结构保存到.mat 文件中。我试过了:
save -append registers.mat myStruct;
但它给出了错误:
Variable 'myStruct' not found.
我有不同的函数来更新struct,比如:
function configureChannel( obj, Channel )
myStruct.Channel = Channel;
save -append registers.mat myStruct;
end
function updateConfiguration( obj, dataPath )
myStruct.EN = 1;
save -append registers.mat myStruct;
end
这些都是同一个类的函数。
【问题讨论】:
-
你必须在你的类属性前面加上类名。
-
你的意思是这样? save -append registers.mat myClass.myStruct 不起作用。
-
试试
save -append registers.mat obj.myStruct;。如果它不起作用 - 将其放入临时变量中,然后保存变量 (a = obj.myStruct; save ...)。另外,我很确定您在执行myStruct.Channel = Channel;时正在创建一个新的局部变量,您应该改为使用obj.myStruct.Channel = Channel;。 -
@Dev-iL ...为什么不把它放在答案中? :)
-
@Dev-iL 同样,奇怪的是 MATLAB 然后不保存临时... OP 必须在没有这种临时的方法中调用
save
标签: matlab oop serialization save mat-file