I would like an object array to be able to extend itself. I tried the example below but the size of the object array (5×1) does not change to (6×1). Of couse I can append an object to the object array outside, but what about inside the object array?
classdef TestAdd < handle properties val=1; end methods function obj=TestAdd(n) if nargin>0 obj(n,1)=TestAdd; for ii=1:n obj(ii,1).val=ii; end end end function add(obj) N=length(obj)+1; obj(end+1,1)=TestAdd; obj(N,1).val=N; end end end
Command line in/output
>> a=TestAdd(5) a = 5x1 TestAdd array with properties: val >> a.add() >> a a = 5x1 TestAdd array with properties: val
Best Answer