0

这是它返回的错误:您无法获取 Planet 的 't' 属性。

Problem4dot10(第 12 行)中的错误 name=mercury.t(mercury);

我创建了 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);

我查看了文档以试图弄清楚。我想做的是创建一个行星类来跟踪行星的位置,并计算行星在下一个时间步的位置。然后它假定新的状态。

4

1 回答 1

0

在我看来,该t物业是私人的。您可以使用以下方式将其公开,例如:

properties(SetAccess = public, GetAccess = public)
    t = 0;
end

或者

properties(Access = public)
    t = 0;
end

你也不需要传入mercuryt getter 方法。name=mercury.t;应该足够了。

于 2014-02-05T06:46:47.967 回答