这是它返回的错误: 你不能得到这样的' Planet的财产。
Problem4dot10中的错误(第12行) 名称= mercury.t(水银);
我创建了getter函数来返回类星球的属性:
methods %for getter functions
function t=get.t(obj)
t=obj.t;
end
function r=get.r(obj)
r=obj.r;
end
function x=get.x(obj)
x=obj.x;
end
function y=get.y(obj)
y=obj.y;
end
function vx=get.vx(obj)
vx=obj.vx;
end
function vy=get.vy(obj)
vy=obj.vy;
end
function n=get.n(obj)
n=obj.n;
end
function n=get.Name(obj)
n=obj.Name;
end
end
我从文件Problem4dot10.m中调用了getter:
mercury=Planet(1,0.002,0,2*pi,1,0,'Mercury');
mercury.sett(60);
name=mercury.t(mercury);
我查看了文档,试图找出答案。我想要做的是创建一个行星类来跟踪行星的位置,并计算行星在下一个时间步的位置。然后它假设新状态。
答案 0 :(得分:0)
在我看来,t
属性是私有的。您可以使用,例如:
properties(SetAccess = public, GetAccess = public)
t = 0;
end
或
properties(Access = public)
t = 0;
end
此外,您无需将mercury
传递给t getter方法。 name=mercury.t;
就足够了。