У меня есть следующий пример кода.MATLAB: Недостаточно входных аргументов в конструкторе при создании массива объектов
classdef test < handle
properties
p1;
p2;
p3;
end
methods
function obj=test(p1, p2, p3)
obj.p1=p1;
obj.p2=p2;
if nargin<4
obj.p3=0;
else
obj.p3=p3;
end
end
end
end
Теперь, если я
m=test(1,1)
я, как и ожидалось,
m =
test with properties:
p1: 1
p2: 1
p3: 0
С другой стороны, если я
n=test.empty([0, 2, 2]);
n(1,1)=test(1,1);
Я получаю
Error using test (line 10)
Not enough input arguments.
То же самое происходит с n(1,1)=test(1,1,1)
.
Мне действительно интересно, что здесь происходит. Очевидно, что если я дам больше 3-х аргументов, то я получаю Too many input arguments.
EDIT
Я использую MATLAB R2013a.