Function Repository Resource:

Biorhythm

Source Notebook

Show your biorhythms

Contributed by: Jan Mangaldan

ResourceFunction["Biorhythm"][]

shows your biorhythms for the current month.

ResourceFunction["Biorhythm"][spec]

shows your biorhythms for the date interval specified by spec.

Details and Options

Biorhythms are based on the pseudoscientific idea that our daily lives are governed by the following rhythmic cycles starting from birth: a 23-day physical cycle, a 28-day emotional cycle and a 33-day intellectual cycle.
In ResourceFunction["Biorhythm"][spec], spec can be a list containing a start and end date (of any form that can be converted to a DateObject), or a DateInterval object.
ResourceFunction["Biorhythm"] has the same options as DateListPlot, with the following additions and changes:
"Birthday"FromUnixTime[0]your birthday
EpilogAutomaticprimitives rendered after the main plot
GridLinesAutomaticgrid lines to draw
You can use SetOptions[ResourceFunction["Biorhythm"],"Birthday"date] to set your birthday before evaluating ResourceFunction["Biorhythm"].
If the current date (as returned by Today) is within the date interval considered, ResourceFunction["Biorhythm"] adds marker points corresponding to your physical, emotional and intellectual state for the day.

Examples

Basic Examples (2) 

Show the biorhythms of someone born on July 3, 1962 for the current month:

In[1]:=
ResourceFunction["Biorhythm"][
 "Birthday" -> DateObject[{1962, 7, 3}, "Day"]]
Out[1]=

Dates can also be entered as a list, or any other format accepted by DateObject:

In[2]:=
ResourceFunction["Biorhythm"]["Birthday" -> {1962, 7, 3}]
Out[1]=

Show the biorhythms between a given set of dates:

In[3]:=
ResourceFunction[
 "Biorhythm"][{DateObject[{2021, 12, 1}, "Day"], DateObject[{2021, 12, 31}, "Day"]}, "Birthday" -> DateObject[{1962, 7, 3}, "Day"]]
Out[3]=

Show the biorhythms around a month after the given birth date:

In[4]:=
ResourceFunction[
 "Biorhythm"][{DatePlus[DateObject[{1962, 7, 3}, "Day"], Quantity[-1, "Days"]], DatePlus[DateObject[{1962, 7, 3}, "Day"], Quantity[30, "Days"]]}, "Birthday" -> DateObject[{1962, 7, 3}, "Day"]]
Out[4]=

Scope (4) 

Set your birthday before evaluating Biorhythm:

In[5]:=
SetOptions[ResourceFunction["Biorhythm"], "Birthday" -> DateObject[{1959, 8, 29}, "Day"]];

Biorhythms for the current month:

In[6]:=
ResourceFunction["Biorhythm"][]
Out[6]=

Biorhythms for a specified date interval:

In[7]:=
ResourceFunction["Biorhythm"][{{1988, 6, 1}, {1988, 6, 30}}]
Out[7]=

An equivalent specification:

In[8]:=
ResourceFunction["Biorhythm"][
 DateInterval[{DateObject[{1988, 6, 1}, "Day"], DateObject[{1988, 6, 30}, "Day"]}]]
Out[8]=

Properties and Relations (2) 

Evaluate the overall period of the three biorhythms:

In[9]:=
period = Quantity[LCM[23, 28, 33], "Days"]
Out[9]=

That is, after 21252 days, all three of your biorhythms start again at 0:

In[10]:=
SetOptions[ResourceFunction["Biorhythm"], "Birthday" -> DateObject[{1959, 8, 29}, "Day"]];
In[11]:=
ResourceFunction[
 "Biorhythm"][{DatePlus[DateObject[{1959, 8, 29}, "Day"], period - Quantity[2, "Days"]], DatePlus[DateObject[{1959, 8, 29}, "Day"], period + Quantity[2, "Days"]]}]
Out[11]=

Possible Issues (1) 

Biorhythm does not evaluate for date intervals before your birth date:

In[12]:=
ResourceFunction["Biorhythm"][{{1962, 6, 25}, {1962, 7, 2}}, "Birthday" -> DateObject[{1962, 7, 3}, "Day"]]
Out[12]=

Version History

  • 1.0.0 – 14 February 2022

Source Metadata

Author Notes

This function is only provided for novelty reasons. I make no claims on the accuracy of any predictions or conclusions that can be derived from the result of this function.

License Information