The simple trick is to use the output arguments from a function.
Change your function header to look like this:
When you use a function that return multiple output arguments, if you only ask for one output, it only gives you the first output. Fsolve will ignore those other outputs.
Now, after fsolve returns a value for f, call the function ONE more time, with the final value of f, but now with additional outputs. Call it like this:
You see that now you are taking the values of rr and Re, as computed when f is the final value from fsolve. We are not interested in the first output argument, so tell MATLAB to dump it in the bit bucket.