我正在尝试实施以下内容:
classdef asset
properties
name
values
end
methods
function AS = asset(name, values)
AS.name = name;
AS.values = values;
end
function out = somefunction1
ret = somefunction2(asset.values);
out = mean(ret);
return
end
function rets = somefunction2(vals)
n = length(vals);
rets = zeros(1,n-1);
for i=1:(n-1)
rets(i) = vals(i)/vals(i+1);
end
return
end
end
end
但我得到的错误是somefunction1应该是静态的。但如果它是静态的,那么它就不能再访问这些属性了。我该如何解决这个问题?
答案 0 :(得分:0)
在Matlab中,第一个函数参数是对象。
function out = somefunction1(obj)
ret = somefunction2(obj.values);
out = mean(ret);
return
end
所有其他功能相同。这是一个隐式参数,您可以调用函数x.somefunction()