A blanket change would be
z=gpuArray.colon(1,0.5,10);
a=gpuArray.colon(1,0.5,5);
num=kron(z,ones(1,length(a),'gpuArray'));
i=gpuArray.colon(1,length(a));
deno=zeros(9,3,'gpuArray');
deno(i,1)=1;
deno(i,2)=a(i);
den=repmat(deno,length(z),1);
n=numel(num);
for m=1:n
sys(m)=tf(num(m),den(m,:));
end
bode(sys(m))
I believe you can vectorize away the loop for tf using cell arrays, but you probably won't gain much from that. There's no benefit using gpuArray input to tf anyway.