Your x values are far too large! Try
x = (0:0.01:1)*10^-7; %%%%%%%%%%%%%%%%%%%
t = [100 200 300];
c = 10^(-6);
D = 10^(-9);
% figure(1)
% x0 = [0 0 10^10];
% u0 = [c 0 0];
for i = 1:3
dn = 2*D*sqrt(t(i));
e2 = erf( -x/dn );
u(i,:) = c*(1 + e2);
end
plot(x,u)
grid on
ylabel('Concentration (C) (mols/metres^{3})')
xlabel('Distance (x) (metres)')
legend(['t = ' num2str(t(1))],['t = ' num2str(t(2))], ...
['t = ' num2str(t(3))])
to get