title: Prevent Matlab from rounding output?
body: <p>Im running a simple script to estimate roots for a function. Everything works great, each iteration of the algorithm prints off the current x and f(x), but when the script finishes and sets the final estimate of x as the output of the function the value is returned and rounded to 3 decimal places... </p>
  
  <pre><code>while k &lt; maxit
      k = k + 1;
      dx = b - a;
      xm = a + 0.5*dx;       %  Minimize roundoff in computing the midpoint
  
      fm = feval(fun, xm, diameter, roughness, reynolds);
  
      fprintf('%4d  %12.20e  %12.4e\n',k,xm,fm); 
  
      if (abs(fm)/fref &lt; feps) | (abs(dx)/xref &lt; xeps) % True when root is found
          r = xm;  
      return;
  end
  </code></pre>
  
  <p>here is the tail bit of the output:</p>
  
  <pre><code>k       xm            fm
  45  6.77444446476613980000e-003   1.3891e-012
  46  6.77444446478035060000e-003  -1.3380e-011
  47  6.77444446477324520000e-003  -5.9952e-012
  48  6.77444446476969250000e-003  -2.3022e-012
  49  6.77444446476791610000e-003  -4.5830e-013
  
      ans =
  
          0.0068
  </code></pre>
  
  <p>i dont know why its rounding the output.... how do i prevent that?</p>