MATLAB中的递归误差

MATLAB中的递归误差,matlab,recursion,Matlab,Recursion,我在MATLAB中创建了两个相当简单的类,运行这个类时遇到了一个问题 classdef A properties a end methods function obj = A(a) obj.a = a; end end end classdef B properties b end methods function obj =

我在MATLAB中创建了两个相当简单的类,运行这个类时遇到了一个问题

classdef A

    properties
        a
    end

    methods
        function obj = A(a)
            obj.a = a;
        end
    end
end


classdef B

    properties
        b
    end

    methods
        function obj = B(b)
            obj.b = b;
        end
    end
end
然后,我在命令窗口中写道:

x = A(1);

y = B(x);
我得到了以下错误:

已达到500的最大限制


为什么我会得到这个?我该如何修复它呢?

您的
B
构造函数应该命名为
B
而不是
A
,否则我得到的错误是输入参数太多。一旦你改变了,我就不会对你写的东西有任何错误。您的
a
类中是否有
B
方法或您没有向我们展示的内容?是的,当我将代码复制到此处时,这是一个输入错误。另外,除了上面的代码,我的代码中没有任何内容-这是我的整个代码和
A.m
B.m
是两个不同的文件?正如我所说,所编写的代码中没有任何递归。是的,它们位于不同的文件中。在重新启动matlab后,您是否尝试运行此程序?