# Is there a mathematical function giving an approximation to human breathing over time?

I want to animate something with the same frequency that a human breathes in and out, something like the Apple Macbook power light when it is in sleep mode.

So basically an ease in ease out function over time, but that has a curve that approximates the way a human breathes.

Edit: I just need the algorithm as a function of time, don't care which language.

http://www.normalbreathing.com/d/etco2-capnography.php

-

## migrated from stackoverflow.comDec 1 '11 at 23:36

This question came from our site for professional and enthusiast programmers.

Why don't you record yourself with a microphone ? –  Alexandre C. Dec 1 '11 at 20:51
Respiratory rate? –  Jesse Dec 1 '11 at 20:52
@AlexandreC because I want a mathematical function which approximates the breath –  justinhj Dec 1 '11 at 20:55
@Jesse doesn't answer my question at all –  justinhj Dec 1 '11 at 20:56
Here's the relevant patent, for what it's worth. freepatentsonline.com/6658577.html –  Harry Stern Dec 2 '11 at 0:04

Your curves look like they could be approximated by exponentials. The first could be $1-\exp (\lambda_1 t)$ for $0<t<3$, $\exp (\lambda_2 (t-3)t)$ for $3<t<5$ then repeat. Choose the $\lambda$s to make it look right. For the hyperventilation, change the range of $t$s appropriately. The easiest way to set the $\lambda$s is to look for the $\frac{1}{e}$ point, where the signal is about $0.37$ of the final value and set $\lambda$ to the inverse of that time.
If you like the first one, a lot of functions could look like that. For example, get partly cos(t)^3 and partly flat. Of course, with coefficients to adjust it.