First of all, when working with indefinite integrals numerically, we will need to fix the constant of integration. This is usually done indirectly by selecting the starting point of the integration, e.g. a = 1 for the natural logarithm
ln_scalar = @(x)integral(@(t)1./t,1,x);
I named it "ln_scalar" because it turns out that this definition will only work for scalar values of x. It's easy to extend it to array values, however, so the function we wanted all along is
ln = @(x)arrayfun(ln_scalar,x);
Now we can evaluate ln(x) for arrays of x in MATLAB and hence plot it if we like
x = linspace(0.5,10);
Since the repeated integrations here have overlapping intervals, it is possible to be more efficient by integrating only between the points to be plotted and then use CUMSUM to form the function values, but such a solution presupposes that we know all the output points up front.