1
내 matlab에 조금 녹슨, 나는, (효율적) 깔끔한 해결책을 마련 할 수는 -n의 여러 시퀀스를 생성 : N
주어진 NMAX에 대한원하는 출력 :
nMax = 3;
mn = cell2mat(arrayfun(@(n) [(-n:n) ;(-n:n)*0+n], 1:nMax, 'UniformOutput', false));
mn =
-1 0 1 -2 -1 0 1 2 -3 -2 -1 0 1 2 3
1 1 1 2 2 2 2 2 3 3 3 3 3 3 3
(이상적으로는 이의 전치).
편집 : 여기, 제안 된 솔루션을 좋은 속도 향상을 요약 한 것
tN = [5:100, 200:50:1000];
for ii=1:length(tN)
f1 = @() f_mn(tN(ii));
f2 = @() f_mn2(tN(ii));
gain(ii) = timeit(f1)/timeit(f2);
end