(Disclaimer: I am not an expert, feel free to suggest corrections, or write a more comprehensive answer if you are.)
Extending computability and complexity to the real numbers (which is a first step in doing analysis) is tricky and has been done in several inequivalent ways. One is the Blum-Shub-Smale (BSS) model, which augments Turing machines with the ability to store and perform algebraic operations with real numbers. The resulting theory is algebraic in flavor, e.g. all computable functions are piecewise semi-algebraic. The model is interesting but has some strange features that make it seem unrealistic, at least as a model of how computers actually deal with real number computation. For example it allows computation with uncomputable constants: the constant function with value Chaitin's constant is computable in the BSS model. On the other hand, $e^x$ is not computable in the BSS model.
Another approach can be found in the field of computable analysis, and I think that's what you are looking for. Check the book by Weihrauch for an introduction (the introduction and the chapter on computable real numbers are available on the linked page, and will give you a good idea of what is going on). There still are several not quite equivalent models here, but the rough idea is that rational numbers have finite representation, and then you construct the computable reals the same way you construct the reals as a completion of the rationals. So, analogously to defining a real as a (equivalence class of) a Cauchy sequence of rationals, a computable real is given by a Turing machine that computes arbitrarily good approximations to it. Then a function $f: \mathbb{R} \to \mathbb{R}$ is computable if a Turing machine can compute arbitrarily good approximations of $f(x)$ given (as an oracle) a machine that computes arbitrarily good approximations of $x$.
There are fascinating connections between computable analysis and classical/modern analysis and many other fields, for example algorithmic randomness. One simple example of a theorem is that all computable functions are continuous. To give a more sophisticated example (without actually going into the details), there are interesting counterparts to classical theorems in analysis, e.g. an analogue of Rademacher's theorem is that all computable Lipschitz functions $f:[0,1] \to [0,1]$ are differentiable at all algorithmically random points (for the right notion of algorithmic randomness).
Formulating a complexity theory for real functions is, AFAIK, even trickier. This is related to the fact that computing a real function is a higher-order computation (since it takes a Turing machine as input) so the bit size of the input is not usually the right thing to measure the runtime against. Check this paper by Mark Braverman for one approach to defining efficient real computation. At this point I am way out of my depth to say more, so I will stop.