m=100; n=100;%number of harmonics d1=100; %mesh size [x,y]=meshgrid(0:a/d1:a,0:b/d1:b); %produce mesh y=flipud(y); [m1,n1]=meshgrid(1:m,1:n);%Number of half waves Tmn = cell(length(m1));%Preallocate cell size T=(1:length(m1));%Tool to filter out cell subcripts with even number for c=T(mod(T,2)~=0)%Even number filter for d=T(mod(T,2)~=0) %Even number filter Tmn{c,d}=16*Po/ (pi^2*(m1(c,d)*n1(c,d)))*sin(m1(c,d).*(8*pi*x/a)).*sin(n1(c,d)*(8*pi*y/b)); %Compute cell values, input fundamental frequency end end Tmn(cellfun(@isempty,Tmn)) = {zeros(length(x))};%Preallocate zero values to empty cells i=1; T1=zeros(length(x)); while i<length(m1)*length(m1)-1 T2=T1+cell2mat(Tmn(i)); T1=T2; i=i+1; end surf(x,y,T1) %Plot.