过去,我一直在广泛使用 Matlab 的table
类。这个非常简单的代码,在脚本内或提示符下,按预期工作:
varNames = {'Date_time', 'Concentration_1', 'Concentration_2'};
testTable = array2table(zeros(5,3), 'VariableNames', varNames)
现在,我拥有与a相同table
的.property
handle class
classdef TestClass < handle
properties
testTable (:,3) table
end
methods
function testMethod(obj)
varNames = {'Date_time', 'Concentration_1', 'Concentration_2'};
obj.testTable = array2table(zeros(5,3), 'VariableNames', varNames);
obj.testTable.Properties.VariableNames
end
end
end
如果我在命令提示符下执行以下命令,则将zeros
其分配给table
,但VariableNames
保留其默认值,即{'Var1', 'Var2'}
等。
tc = TestClass; tc.testMethod
甚至tc.testTable.Properties.VariableNames = varNames
不会改变它们。
这是一个错误,还是我错过了什么?(我正在使用 Matlab R2017b)