问题
Matlab常见的mat文件无法使用load函数读取的错误,提示如下:
警告: 最初保存为 classA 的变量 ‘variableA’ 无法实例化为对象,将以 uint32 形式读取。
Variable variableA originally saved as a classA cannot be instantiated as an object and will be read in as a uint32
原因
在使用下面的语句时:
save file.mat variableA
变量variableA是一个自定义的class, 例如:
classdef classA
properties
a
b
c
end
end
由于classA.m 没有保存在相同的文件夹,或者没有引用,导致MATLAB无法解析,进而出现错误提示。
解决方案
重新写一个class, 把class文件放入相同文件夹,或者使用addpath 进行引用。
addpath(folder_path)
如果出现:
类定义必须位于 “@” 目录中。
那么在folder_path的文件夹下面新建 @classA 文件夹, 把classA.mat 放入@classA 文件夹。