MATLAB中的递归误差
我在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 =
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后,您是否尝试运行此程序?