MatLab:多项式误差的Classdef
我已经为多项式编写了下面的类,但是我一直得到错误MatLab:多项式误差的Classdef,matlab,Matlab,我已经为多项式编写了下面的类,但是我一直得到错误 No public field polynomial exists for class Poly. Error in Poly (line 13) obj.polynomial=struct('exponent',{p.exponent},'coeff',{p.coeff}); 这是我的班级 classdef Poly properties polynomial end
No public field polynomial exists for class Poly.
Error in Poly (line 13)
obj.polynomial=struct('exponent',{p.exponent},'coeff',{p.coeff});
这是我的班级
classdef Poly
properties
polynomial
end
methods
function obj=Poly(p)
if isa(p,'Poly')
obj=p;
else
obj.polynomial=struct('exponent',{p.exponent},'coeff',{p.coeff});
end
end
function answer=plus(obj1,obj2)
obj1=Poly(obj1);
obj2=Poly(obj2);
answer=Poly(addPoly(obj1.polynomial,obj2.polynomial));
end
function answer=mtimes(obj1,obj2)
obj1=Poly(obj1);
obj2=Poly(obj2);
answer=Poly(multPoly(obj1.polynomial,obj2.polynomial));
end
function answer=rem(obj1,obj2)
obj1=Poly(obj1);
obj2=Poly(obj2);
answer=Poly(dividePolyrem(obj1.polynomial,obj2.polynomial));
end
end
end
我不确定为什么一直出现此错误,我尝试在属性之后添加(SetAccess=Public)
,但这似乎不起作用。有什么建议吗?您的源代码很好(除了classdef和方法缺少的end
),可能存在过时版本的类,这会阻止matlab更新类定义。清除包含Poly
实例的所有变量