Daniel@0: function c = plus(a,b) Daniel@0: Daniel@0: d = get(a,'Data'); Daniel@0: f = cell(1,length(d)); Daniel@0: n = get(a,'Name'); Daniel@0: t = get(a,'Title'); Daniel@0: Daniel@0: if isa(b,'mirdata') Daniel@0: e = get(b,'Data'); Daniel@0: m = get(b,'Name'); Daniel@0: u = get(b,'Title'); Daniel@0: if not(isa(a,'miraudio')) Daniel@0: t = [t,' + ',get(b,'Title')]; Daniel@0: end Daniel@0: else Daniel@0: e = {{b}}; Daniel@0: m = {num2str(b)}; Daniel@0: t = [t,' + ',num2str(b)]; Daniel@0: end Daniel@0: Daniel@0: for i = 1:length(d) Daniel@0: f{i} = cell(1,length(d{i})); Daniel@0: for j = 1:length(d{i}) Daniel@0: ld = size(d{i}{j},1); Daniel@0: le = size(e{i}{j},1); Daniel@0: if ld > le Daniel@0: f{i}{j} = d{i}{j} + [e{i}{j};zeros(ld-le,size(e,2),size(e,3))]; Daniel@0: elseif ld < le Daniel@0: f{i}{j} = [d{i}{j};zeros(le-ld,size(d,2),size(d,3))] + e{i}{j}; Daniel@0: else Daniel@0: f{i}{j} = d{i}{j} + e{i}{j}; Daniel@0: end Daniel@0: end Daniel@0: if isa(a,'miraudio') Daniel@0: n{i} = [n{i} '+' m{i}]; Daniel@0: end Daniel@0: end Daniel@0: c = set(a,'Data',f,'Name',n,'Title',t);