(*
Home -- Symptoms -- Cycles -- Mathematica Program Used For Statistical Analysis
How to use this file with Mathematica:
(1) Download the source of this file (mathcode.htm) onto your hard drive.
(2) Open mathcode.htm with Mathematica. You will generate one notebook (cell).
(3) You have generated a Mathematica input file. Execute it.
(4) After running, Mathematica will generate several more plots than the sample pictures you see right now in this browser window.
(5) For convenience: At every horizontal ruler, you may break this one cell up into several subcells.
I hope newer versions of Mathematica will work with this file as does my Mathematica version 2.2.
*) (**) (**) (*Notation
*) (* daymax .......................number of days covered in symptom log. delta[[i]] .................... length of ith menstruation cycle. dist[s, ds, df] .............list containing the distp[s, i, ds, df] for all i. distp[s,i, ds, df] ....... list of expressions {s, distance(i)} where distance(i) is the time difference between the ith element of symp[s, ds, df] and any of the elements to the right of it. Example: distp[s,1, ds, df] ....... {{s, c - ds}, {s, d - ds}, ....., {s, df - ds}}, distp[s,2, ds, df] ....... {{s, d - c}, {s, e - c}, ....., {s, df - c}}. df ................................ last day of symptom log to be considered in statistical evaluation. ds ................................first day of symptom log to be considered in statistical evaluation. dmensis ......................vector composed of days 1 of all menstruation cycles. eall[s] ........................ {{s, 1}, {s, 2}, ..., {s, daymax}}. freq[s, ds, df, i] ........ tells us how often the time distance i between occurences of symptom s is found in the symptom log between days ds and df. freqv[s, ds, df].......... is the vector specifying the frequency spectrum of symptom s. It is composed of expressions {freq[s, ds, df, i], i}. m ............................... id of menstruation cycle. r ............................... = {0, fmax} specifies the range of frequencies that will be plotted. mend .......................... = {{30, start of bleeding (day)}, {30, start of bleeding (day)}, ... }. menses ....................... {{30, length of cycle 1}, {30, length of cycle 2}, .........}. mendI[i] .................... part i of menses. mplot[s, ds] .............. Plot of days of occurrence of symptom s. Days are grouped by menstruation cycles. pluteal ........................ Plot of location of luteal phase in menstrual cycle. s ................................. symptom id. Sfreqv[sv, ds, df] .......is the frequency spectrum of the symptom spectrum sv. Sfreqv is identical to freqv when sv = {s} specifies only one symptom, Spstat[sv, ds, df, r] .... procedure that plots the frequency plot for any array of symptoms Spstatv[sv, ds, df, r]... procedure that plots the frequency plot for any array of symptoms, using thick lines in the plot. sv ................................ vector composed of symptom id's. sv = {i, j, ...., n}, where i, j, ...., n represent the symtom log entries symt[i], symt[j], ...., symt[n]. That part of the symptom log is evaluated that starts with day ds and ends with day df. symp[s, ds, df] .......... subset of symt[s], i.e. symp[s, ds, df] = {{s, c}, {s, d}, ...., {s, y}} with ds ¾ c < d ....< y ¾ df. symM[m, s] ............... subset of symt[s] within one menstrual cycles, i.e. symM[m, s] = {{s, c-dmensis[[m]]}, {s, d-dmensis[[m]]}, ...., {s, y-dmensis[[m]]}} with dmensis[[m]] ¾ c < d ....< y < dmensis[[m + 1]]. symt[s] ...................... {{s, a}, {s, b}, ....., {s, ds}, {s, c}, {s, d}, {s, e}, {s, f}, ...., {s, df}, ....{s, z}}, where s is symptom id and a, b, ..., z are the days on which symptom s occurred. Day 1 is August 18. symtc[s] ..................... Complement of symt[s]: gives the elements in eall[s] that are not in symt[s]. symtc[s]= {{s, d1}, {s, d2}, ..., {s, dn}}, where d1, d2, ..., dn are all symptom free days. *) (**) (*
*) (*Data
Symptom Log
*) daymax = 612; (*
*) (*Headache
*) symt[1] = {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 11}, {1, 12}, {1, 13}, {1, 14}, {1, 72}, {1, 81}, {1, 82}, {1, 88}, {1, 91}, {1, 92}, {1, 99}, {1, 108}, {1, 115}, {1, 116}, {1, 126}, {1, 154}, {1, 166}, {1, 217}, {1, 243}, {1, 284}, {1, 289}, {1, 293}, {1, 331}, {1, 335}, {1, 336}, {1, 341}, {1, 343}, {1, 384} , {1, 405}, {1, 454}, {1, 463}, {1, 523}, {1, 549}, {1, 557}, {1, 558}, {1, 576} , {1, 588}, {1, 593}, {1, 600}}; (*Physical exhaustion
*) symt[2] = {{2, 1}, {2, 2}, {2, 3}, {2, 4}, {2, 99}, {2, 150}, {2, 174}, {2, 176}, {2, 326} , {2, 327}, {2, 328}, {2, 329}, {2, 333}, {2, 453}}; (*Sinus symptoms
*) symt[3] = {{3, 3}, {3, 4}, {3, 5}, {3, 6}, {3, 7}, {3, 8}, {3, 9}, {3, 10}}; (*Eye pain
*) symt[4] = {{4, 1}, {4, 70}, {4, 89}, {4, 331}, {4, 332}, {4, 333}, {4, 335}, {4, 336}, {4, 344}, {4, 349}, {4, 374}, {4, 494}, {4, 451}, {4, 452}, {4, 459}, {4, 467}, {4, 480} , {4, 481}, {4, 486}, {4, 490}, {4, 509}, {4, 539}, {4, 540}, {4, 543}, {4, 551}, {4, 554} , {4, 555}, {4, 596}, {4, 597}, {4, 599}, {4, 600}, {4, 602}, {4, 610}}; (*Eyes: Pain when moving right eyeball
*) symt[5] = {{5, 2}, {5, 3}, {5, 4}, {5, 5}, {5, 6}, {5, 7}, {5, 8}, {5, 9}, {5, 10}, {5, 75}, {5, 76}, {5, 77}, {5, 78}, {5, 79}, {5, 80}, {5, 81}}; (*Eyes: Reduced vision, left eye
*) symt[6] = {{6, 6}, {6, 7}, {6, 8}, {6, 9}, {6, 10}, {6, 11}}; (*Light-sensititivity
*) symt[7] = {{7, 1}, {7, 2}, {7, 3}, {7, 4}, {7, 5}, {7, 6}, {7, 7}, {7, 8}, {7, 9} , {7, 10}, {7, 11}, {7, 12}, {7, 13}, {7, 14}, {7, 23}, {7, 24}, {7, 25} , {7, 26}, {7, 27}, {7, 28}, {7, 29}, {7, 48}, {7, 49}, {7, 50}, {7, 51} , {7, 52}, {7, 53}, {7, 54}, {7, 55}, {7, 56}, {7, 65}, {7, 67}, {7, 73} , {7, 74}, {7, 75}, {7, 76}, {7, 77}, {7, 78}, {7, 79}, {7, 80}, {7, 81} , {7, 82}, {7, 83}, {7, 84}, {7, 102}, {7, 103}, {7, 104}, {7, 105} , {7, 110}, {7, 114}, {7, 115}, {7, 116}, {7, 117} , {7, 121}, {7, 122}, {7, 125}, {7, 130}, {7, 131}, {7, 133}, {7, 137} , {7, 138}, {7, 140}, {7, 144}, {7, 145}, {7, 146}, {7, 147}, {7, 148} , {7, 149}, {7, 151}, {7, 153}, {7, 155}, {7, 160}, {7, 161}, {7, 162} , {7, 163}, {7, 165}, {7, 167}, {7, 172}, {7, 175}, {7, 176}, {7, 177} , {7, 180}, {7, 184}, {7, 185}, {7, 187}, {7, 188}, {7, 191}, {7, 193} , {7, 195}, {7, 196}, {7, 198}, {7, 199}, {7, 204}, {7, 205}, {7, 210} , {7, 214}, {7, 216}, {7, 217}, {7, 219}, {7, 220}, {7, 223}, {7, 227} , {7, 228}, {7, 230}, {7, 232}, {7, 234}, {7, 236}, {7, 238}, {7, 241} , {7, 243}, {7, 244}, {7, 246}, {7, 248}, {7, 250}, {7, 255}, {7, 259} , {7, 263}, {7, 264}, {7, 268}, {7, 272}, {7, 277}, {7, 282}, {7, 284} , {7, 289}, {7, 297}, {7, 299}, {7, 304}, {7, 305}, {7, 306} , {7, 309}, {7, 319}, {7, 321}, {7, 323}, {7, 326}, {7, 328}, {7, 331} , {7, 332}, {7, 333}, {7, 335}, {7, 336}, {7, 343}, {7, 348}, {7, 352} , {7, 355}, {7, 357}, {7, 358}, {7, 360}, {7, 361}, {7, 363}, {7, 364} , {7, 376}, {7, 380}, {7, 383}, {7, 385}, {7, 388}, {7, 390}, {7, 396} , {7, 397}, {7, 400}, {7, 402}, {7, 403}, {7, 405}, {7, 408}, {7, 410} , {7, 412}, {7, 414}, {7, 426}, {7, 452}, {7, 486}, {7, 502}, {7, 599} , {7, 600}, {7, 601}, {7, 602}, {7, 603}, {7, 605}, {7, 607}}; (*Eyes: tingling, because 8 became indistinguishable from 7 after day 250 it is continued as symptom 7 then
*) symt[8] = {{8, 10}, {8, 11}, {8, 12}, {8, 13}, {8, 14}, {8, 53}, {8, 54}, {8, 55}, {8, 56}, {8, 65}, {8, 67}, {8, 73}, {8, 74}, {8, 75}, {8, 76}, {8, 77}, {8, 78}, {8, 79}, {8, 80}, {8, 81}, {8, 82}, {8, 83}, {8, 84}, {8, 103}, {8, 105}, {8, 110}, {8, 115}, {8, 116}, {8, 117}, {8, 122}, {8, 125}, {8, 130}, {8, 131}, {8, 133}, {8, 140}, {8, 145}, {8, 146}, {8, 147}, {8, 148}, {8, 149}, {8, 151}, {8, 153}, {8, 163}, {8, 172}, {8, 175}, {8, 176}, {8, 181}, {8, 187}, {8, 188}, {8, 193}, {8, 204}, {8, 205}, {8, 210}, {8, 219}, {8, 230}, {8, 238}, {8, 250}}; (*Eyes: asynchronous
*) symt[9] = {{9, 19}, {9, 20}, {9, 21}, {9, 22}, {9, 23}, {9, 24}, {9, 25}, {9, 26}, {9, 27}, {9, 28}, {9, 29}, {9, 30}, {9, 160}, {9, 232}, {9, 233}, {9, 244}, {9, 264}, {9, 274}, {9, 275}, {9, 278}}; (*Twitching muscles -face, eyelid, after day 239 continued in 11
*) symt[10] = {{10, 31}, {10, 75}, {10, 76}, {10, 115}, {10, 152}, {10, 171}, {10, 184}, {10, 185}, {10, 220}, {10, 221}, {10, 226}, {10, 228}, {10, 229}, {10, 234}, {10, 239}}; (*Twitching muscles - small leg muscles
*) symt[11] = {{11, 30}, {11, 31}, {11, 75}, {11, 76}, {11, 115}, {11, 116} , {11, 138}, {11, 139}, {11, 140}, {11, 141}, {11, 143}, {11, 144}, {11, 149} , {11, 152}, {11, 162}, {11, 163}, {11, 164}, {11, 165}, {11, 166}, {11, 168} , {11, 170}, {11, 171}, {11, 172}, {11, 173}, {11, 175}, {11, 177}, {11, 183} , {11, 184}, {11, 185}, {11, 187}, {11, 199}, {11, 201}, {11, 205}, {11, 206} , {11, 207}, {11, 220}, {11, 221}, {11, 226}, {11, 228}, {11, 229}, {11, 234} , {11, 239}, {11, 241}, {11, 275}, {11, 276} , {11, 286}, {11, 287}, {11, 289}, {11, 291}, {11, 292}, {11, 293}, {11, 294} , {11, 297}, {11, 298}, {11, 300}, {11, 301}, {11, 306}, {11, 307}, {11, 310} , {11, 315}, {11, 320}, {11, 325}, {11, 327}, {11, 331}, {11, 332}, {11, 333} , {11, 334}, {11, 337}, {11, 338}, {11, 342}, {11, 343}, {11, 345}, {11, 346} , {11, 349}, {11, 350}, {11, 351}, {11, 360}, {11, 361}, {11, 362}, {11, 363} , {11, 366}, {11, 367}, {11, 372}, {11, 380}, {11, 381}, {11, 384}, {11, 386} , {11, 387}, {11, 389}, {11, 390}, {11, 391}, {11, 392}, {11, 393}, {11, 394} , {11, 398}, {11, 399}, {11, 401}, {11, 402}, {11, 403}, {11, 404}, {11, 408} , {11, 411}, {11, 412}, {11, 414}, {11, 415}, {11, 419}, {11, 420}, {11, 422} , {11, 423}, {11, 424}, {11, 426}, {11, 427}, {11, 428}, {11, 429}, {11, 430} , {11, 431}, {11, 432}, {11, 433}, {11, 434}, {11, 435}, {11, 436}, {11, 437} , {11, 438}, {11, 439}, {11, 440}, {11, 441}, {11, 442}, {11, 443}, {11, 444} , {11, 445}, {11, 446}, {11, 452}, {11, 454}, {11, 455}, {11, 456}, {11, 457} , {11, 458}, {11, 459}, {11, 460}, {11, 461}, {11, 462}, {11, 463}, {11, 464} , {11, 465}, {11, 466}, {11, 467}, {11, 468}, {11, 469}, {11, 471}, {11, 472} , {11, 473}, {11, 474}, {11, 475}, {11, 476}, {11, 477}, {11, 478}, {11, 479} , {11, 480}, {11, 481}, {11, 482}, {11, 484}, {11, 485}, {11, 486}, {11, 487} , {11, 488}, {11, 489}, {11, 490}, {11, 493}, {11, 494}, {11, 495}, {11, 497} , {11, 498}, {11, 502}, {11, 503}, {11, 504}, {11, 505}, {11, 506}, {11, 507} , {11, 508}, {11, 509}, {11, 510}, {11, 511}, {11, 513}, {11, 517}, {11, 519} , {11, 522}, {11, 526}, {11, 529}, {11, 530}, {11, 531}, {11, 532}, {11, 534} , {11, 535}, {11, 536}, {11, 537}, {11, 538}, {11, 540}, {11, 541}, {11, 542} , {11, 543}, {11, 547}, {11, 550}, {11, 566}, {11, 567}, {11, 568}, {11, 569} , {11, 570}, {11, 573}, {11, 587}, {11, 588}, {11, 589}, {11, 598}, {11, 600} , {11, 601}, {11, 605}, {11, 606}, {11, 607}, {11, 608}}; (*Brain: foggy, slow
*) symt[12] = {{12, 30}, {12, 31}, {12, 34}, {12, 35}, {12, 36}, {12, 37}, {12, 38}, {12, 39}, {12, 40}, {12, 41}, {12, 42}, {12, 43}, {12, 44}, {12, 60}, {12, 61}, {12, 62}, {12, 63}, {12, 64}, {12, 65}, {12, 66}, {12, 67}, {12, 68}, {12, 69}, {12, 70}, {12, 71}, {12, 72}, {12, 73}, {12, 74}, {12, 75}, {12, 76}, {12, 77}, {12, 78}, {12, 79}, {12, 80}, {12, 81}, {12, 85}, {12, 89}, {12, 90}, {12, 91}, {12, 92}, {12, 95}, {12, 96}, {12, 97}, {12, 98}, {12, 99}, {12, 108}, {12, 125}, {12, 126}, {12, 127}, {12, 132}, {12, 274}, {12, 275}, {12, 278}, {12, 285}, {12, 331}, {12, 378} , {12, 414}, {12, 415}, {12, 423}}; (*Lightheadedness
*) symt[13] = {{13, 34}, {13, 35}, {13, 36}, {13, 37}, {13, 38}, {13, 39}, {13, 40} , {13, 41}, {13, 42}, {13, 43}, {13, 44}, {13, 61}, {13, 62}, {13, 63}, {13, 64} , {13, 65}, {13, 91}, {13, 92}, {13, 95}, {13, 96}, {13, 97}, {13, 98}, {13, 100} , {13, 102}, {13, 104}, {13, 107}, {13, 108}, {13, 110}, {13, 111}, {13, 115} , {13, 120}, {13, 122}, {13, 134}, {13, 150}, {13, 167}, {13, 183}, {13, 187} , {13, 188}, {13, 189}, {13, 190}, {13, 192}, {13, 193}, {13, 234}, {13, 235} , {13, 255}, {13, 259}, {13, 260}, {13, 261}, {13, 262}, {13, 263}, {13, 264} , {13, 266}, {13, 272}, {13, 273}, {13, 274}, {13, 275}, {13, 277}, {13, 278} , {13, 279}, {13, 280}, {13, 281}, {13, 282}, {13, 283}, {13, 284}, {13, 285} , {13, 286}, {13, 287}, {13, 288}, {13, 289}, {13, 290}, {13, 291}, {13, 294} , {13, 295}, {13, 296}, {13, 297}, {13, 298}, {13, 299}, {13, 356}, {13, 375} , {13, 376}, {13, 453}, {13, 463}, {13, 464}, {13, 468}, {13, 471}, {13, 472} , {13, 486}, {13, 502}, {13, 503}, {13, 504}, {13, 506}, {13, 518}, {13, 529} , {13, 532}, {13, 551}, {13, 552}, {13, 553}, {13, 554}, {13, 556}, {13, 557} , {13, 560}, {13, 561}, {13, 566}}; (*Neck: Stiffness
*) symt[14] = {{14, 30}, {14, 31}, {14, 32}, {14, 33}, {14, 80}, {14, 81}, {14, 96}, {14, 108}, {14, 282}}; (*Body, legs, feet , hand, or face: tingling, see also #28
*) symt[15] = {{15, 37}, {15, 38}, {15, 43}, {15, 54}, {15, 70}, {15, 76}, {15, 77} , {15, 78}, {15, 88}, {15, 89}, {15, 92}, {15, 96}, {15, 98}, {15, 106}, {15, 107} , {15, 115}, {15, 118}, {15, 125}, {15, 129}, {15, 136}, {15, 141}, {15, 142} , {15, 143}, {15, 144}, {15, 151}, {15, 152}, {15, 172}, {15, 177}, {15, 179} , {15, 188}, {15, 191}, {15, 192}, {15, 193}, {15, 197}, {15, 203}, {15, 207} , {15, 208}, {15, 213}, {15, 215}, {15, 226}, {15, 227}, {15, 229}, {15, 232} , {15, 233}, {15, 239}, {15, 241}, {15, 257}, {15, 258}, {15, 260}, {15, 262} , {15, 282}, {15, 283}, {15, 287}, {15, 288}, {15, 290}, {15, 295}, {15, 296} , {15, 303}, {15, 305}, {15, 320}, {15, 331}, {15, 333}, {15, 334}, {15, 339} , {15, 341}, {15, 343}, {15, 344}, {15, 345}, {15, 350}, {15, 351}, {15, 352} , {15, 354}, {15, 355}, {15, 357}, {15, 367}, {15, 369}, {15, 376}, {15, 377} , {15, 378}, {15, 385}, {15, 386}, {15, 388}, {15, 389}, {15, 404}, {15, 410} , {15, 411}, {15, 412}, {15, 413}, {15, 415}, {15, 425}, {15, 433}, {15, 434} , {15, 436}, {15, 441}, {15, 442}, {15, 453}, {15, 458}, {15, 461}, {15, 494} , {15, 495}, {15, 502}, {15, 505}, {15, 507}, {15, 508}, {15, 512}, {15, 513} , {15, 514}, {15, 515}, {15, 519}, {15, 530}, {15, 532}, {15, 537}, {15, 542} , {15, 551}, {15, 555}, {15, 565}, {15, 596}, {15, 612}}; (*Ears: pain or buzz
*) symt[16] = {{16, 48}, {16, 49}, {16, 82}, {16, 83}, {16, 95}, {16, 108}, {16, 118}, {16, 127}, {16, 165}, {16, 171}, {16, 178}, {16, 269}, {16, 270}, {16, 271} , {16, 273}, {16, 277}, {16, 278}, {16, 279}, {16, 280}, {16, 281}, {16, 282}, {16, 283}, {16, 285}, {16, 288} , {16, 289}, {16, 292}, {16, 297}, {16, 298}, {16, 300}, {16, 302}, {16, 305}, {16, 306}, {16, 307}, {16, 314}, {16, 331}, {16, 333}, {16, 352}, {16, 354} , {16, 355}, {16, 358}, {16, 361}, {16, 363}, {16, 364}, {16, 373}, {16, 374}, {16, 376} , {16, 389}, {16, 396}, {16, 398}, {16, 400}, {16, 405}, {16, 415}, {16, 419} , {16, 423}, {16, 463}, {16, 502}}; (*Head:stabbing pain in back of head
*) symt[17] = {{17, 71}, {17, 72}, {17, 83}, {17, 87}, {17, 89}, {17, 90}, {17, 91} , {17, 92}, {17, 93}, {17, 94}, {17, 99}, {17, 100}, {17, 104}, {17, 109} , {17, 112}, {17, 115}, {17, 116}, {17, 120}, {17, 127}, {17, 132}, {17, 133} , {17, 135}, {17, 152}, {17, 170}, {17, 171}, {17, 177}, {17, 179}, {17, 181} , {17, 183}, {17, 188}, {17, 189}, {17, 190}, {17, 192}, {17, 208}, {17, 226} , {17, 229}, {17, 231}, {17, 232}, {17, 234}, {17, 239}, {17, 243}, {17, 245} , {17, 250}, {17, 251}, {17, 252}, {17, 254}, {17, 255}, {17, 259}, {17, 260} , {17, 263}, {17, 264}, {17, 265}, {17, 266}, {17, 269}, {17, 271}, {17, 273} , {17, 274}, {17, 275}, {17, 276}, {17, 277}, {17, 278}, {17, 280}, {17, 282} , {17, 283}, {17, 284}, {17, 285}, {17, 286}, {17, 287}, {17, 289}, {17, 291} , {17, 292}, {17, 298}, {17, 306}, {17, 307}, {17, 319}, {17, 321}, {17, 322} , {17, 324}, {17, 326}, {17, 338}, {17, 339}, {17, 344}, {17, 350}, {17, 351} , {17, 352}, {17, 353}, {17, 355}, {17, 357}, {17, 365}, {17, 368}, {17, 370} , {17, 371}, {17, 374}, {17, 375}, {17, 376}, {17, 377}, {17, 387} , {17, 395}, {17, 401}, {17, 404}, {17, 412}, {17, 413}, {17, 414}, {17, 415} , {17, 416}, {17, 417}, {17, 418}, {17, 421}, {17, 425}, {17, 429}, {17, 431} , {17, 463}, {17, 481}, {17, 488}, {17, 502}, {17, 504}, {17, 506}, {17, 507} , {17, 512}, {17, 513}, {17, 515}, {17, 516}, {17, 517}, {17, 518}}; (*Head: pain in back of head
*) symt[18] = {{18, 94}, {18, 101}, {18, 108}, {18, 118}, {18, 119}, {18, 124}, {18, 125} , {18, 133}, {18, 150}, {18, 154}, {18, 159}, {18, 163}, {18, 164}, {18, 167} , {18, 168}, {18, 169}, {18, 170}, {18, 174}, {18, 179}, {18, 184}, {18, 188} , {18, 190}, {18, 195}, {18, 197}, {18, 203}, {18, 207}, {18, 208}, {18, 211} , {18, 213}, {18, 215}, {18, 217}, {18, 221}, {18, 227}, {18, 228}, {18, 229} , {18, 230}, {18, 242}, {18, 244}, {18, 246}, {18, 247}, {18, 248}, {18, 250} , {18, 251}, {18, 253}, {18, 255}, {18, 257}, {18, 258}, {18, 259}, {18, 261} , {18, 263}, {18, 264}, {18, 265}, {18, 266}, {18, 267}, {18, 268}, {18, 269} , {18, 270}, {18, 274}, {18, 275}, {18, 277}, {18, 278}, {18, 279}, {18, 280} , {18, 282}, {18, 283}, {18, 284}, {18, 285}, {18, 286}, {18, 287}, {18, 288} , {18, 289}, {18, 291}, {18, 292}, {18, 294}, {18, 295}, {18, 296}, {18, 298} , {18, 300}, {18, 301}, {18, 304}, {18, 305}, {18, 306}, {18, 308}, {18, 309} , {18, 310}, {18, 311}, {18, 312}, {18, 314}, {18, 316}, {18, 317}, {18, 318} , {18, 319}, {18, 324}, {18, 328}, {18, 329}, {18, 331}, {18, 333}, {18, 334} , {18, 336}, {18, 337}, {18, 338}, {18, 339}, {18, 341}, {18, 343}, {18, 345} , {18, 346}, {18, 347}, {18, 348}, {18, 350}, {18, 352}, {18, 354}, {18, 355} , {18, 356}, {18, 357}, {18, 358}, {18, 359}, {18, 360}, {18, 362}, {18, 363} , {18, 367}, {18, 368}, {18, 369}, {18, 370}, {18, 371}, {18, 372}, {18, 375} , {18, 376}, {18, 378}, {18, 380}, {18, 381}, {18, 383}, {18, 387}, {18, 388} , {18, 389}, {18, 390}, {18, 393}, {18, 398}, {18, 402}, {18, 403}, {18, 404} , {18, 405}, {18, 407}, {18, 408}, {18, 410}, {18, 411}, {18, 415}, {18, 420} , {18, 423}, {18, 424}, {18, 427}, {18, 429}, {18, 431}, {18, 433}, {18, 435} , {18, 436}, {18, 437}, {18, 438}, {18, 439}, {18, 440}, {18, 441}, {18, 443} , {18, 445}, {18, 447}, {18, 448}, {18, 449}, {18, 450}, {18, 453}, {18, 456} , {18, 457}, {18, 458}, {18, 463}, {18, 464}, {18, 467}, {18, 468}, {18, 469} , {18, 475}, {18, 479}, {18, 482}, {18, 483}, {18, 484}, {18, 487}, {18, 497} , {18, 498}, {18, 499}, {18, 502}, {18, 504}, {18, 505}, {18, 506}, {18, 507} , {18, 508}, {18, 509}, {18, 512}, {18, 513}, {18, 515}, {18, 516}, {18, 517} , {18, 518}, {18, 519}, {18, 520}, {18, 521}, {18, 522}, {18, 524}, {18, 526} , {18, 527}, {18, 529}, {18, 530}, {18, 531}, {18, 534}, {18, 537}, {18, 538} , {18, 539}, {18, 541}, {18, 543}, {18, 544}, {18, 545}, {18, 548}, {18, 549} , {18, 551}, {18, 552}, {18, 553}, {18, 554}, {18, 555}, {18, 557}, {18, 559} , {18, 560}, {18, 561}, {18, 563}, {18, 565}, {18, 566}, {18, 567}, {18, 569} , {18, 570}, {18, 571}, {18, 572}, {18, 573}, {18, 574}, {18, 576}, {18, 580} , {18, 582}, {18, 583}, {18, 584}, {18, 586}, {18, 588}, {18, 589}, {18, 590} , {18, 592}, {18, 593}, {18, 594}, {18, 599}, {18, 600}, {18, 601}, {18, 602} , {18, 603}, {18, 604}, {18, 605}, {18, 606}, {18, 607}, {18, 608}, {18, 609} , {18, 610}, {18, 612}}; (*Tension, anxiety
*) symt[19] = {{19, 31}, {19, 32}, {19, 33}, {19, 34}, {19, 35}, {19, 36}, {19, 37}, {19, 38}, {19, 39}, {19, 40}, {19, 41}, {19, 42}, {19, 43}, {19, 44}, {19, 45}, {19, 46}, {19, 47}, {19, 48}, {19, 49}, {19, 50}, {19, 51}, {19, 52}, {19, 53}, {19, 54}, {19, 55}, {19, 56}, {19, 57}, {19, 58}, {19, 59}, {19, 60}, {19, 61}, {19, 62}, {19, 63}, {19, 67}, {19, 68}, {19, 69}, {19, 76}, {19, 77}, {19, 78}, {19, 79}, {19, 80}, {19, 81}, {19, 106}, {19, 113}, {19, 114}, {19, 115}, {19, 116}}; (*Chest: Difficulty taking deep breath
*) symt[20] = {{20, 31}, {20, 32}, {20, 33}, {20, 34}, {20, 35}, {20, 36}, {20, 37}, {20, 38}, {20, 39}, {20, 40}, {20, 41}, {20, 42}, {20, 43}, {20, 44}, {20, 45}, {20, 46}, {20, 47}, {20, 48}, {20, 49}, {20, 50}, {20, 51}, {20, 52}, {20, 53}, {20, 54}, {20, 55}, {20, 56}, {20, 57}, {20, 58}, {20, 59}, {20, 60}, {20, 61}, {20, 62}, {20, 63}, {20, 76}, {20, 77}, {20, 78}, {20, 79}, {20, 80}, {20, 81}, {20, 82}, {20, 83}, {20, 84}, {20, 85}, {20, 86}, {20, 87}, {20, 88}, {20, 89}, {20, 90}, {20, 166}, {20, 167}, {20, 179}, {20, 183}, {20, 193}, {20, 199}, {20, 203}, {20, 213}, {20, 232}, {20, 246}, {20, 247}, {20, 257}, {20, 278}, {20, 280}, {20, 281} , {20, 466}, {20, 517}, {20, 518}}; (*Sore throat
*) symt[21] = {{21, 43}, {21, 44}, {21, 45}, {21, 46}, {21, 47}, {21, 48}, {21, 56}, {21, 57}, {21, 58}, {21, 59}, {21, 60}, {21, 61}, {21, 62}, {21, 63}, {21, 64}, {21, 65}, {21, 85}, {21, 88}, {21, 109}, {21, 110}, {21, 111}, {21, 112}, {21, 114}, {21, 115}, {21, 159}, {21, 187}}; (*Persisten cough
*) symt[22] = {{22, 84}, {22, 85}, {22, 86}, {22, 87}, {22, 88}, {22, 89}, {22, 90}, {22, 91}, {22, 92}, {22, 93}, {22, 94}, {22, 95}, {22, 96}, {22, 97}, {22, 98}, {22, 99}, {22, 100}, {22, 101}, {22, 102}, {22, 103}}; (*Swollen glands
*) symt[23] = {{23, 85}, {23, 86}, {23, 109}, {23, 110}, {23, 113}, {23, 114}, {23, 115}, {23, 116}, {23, 117}}; (*Body: stabbing pain
*) symt[24] = {{24, 86}, {24, 90}, {24, 91}, {24, 92}, {24, 99}, {24, 200}, {24, 282}, {24, 283}, {24, 287}, {24, 293}, {24, 296}, {24, 331}, {24, 333}, {24, 362}}; (*Fever, chills
*) symt[25] = {{25, 108}, {25, 111}, {25, 112}, {25, 113}, {25, 114}}; (*Rash: very strong - entire body
*) symt[26] = {{26, 113}, {26, 114}, {26, 115}}; (*swollen joints
*) symt[27] = {{27, 114}, {27, 115}, {27, 116}}; (*Upper leg - Tingling when moving
*) symt[28] = {{28, 190}, {28, 191}, {28, 192}, {28, 193}, {28, 194}, {28, 195}, {28, 196}, {28, 197}, {28, 198}, {28, 199}, {28, 200}, {28, 201}, {28, 202}, {28, 203}, {28, 204}, {28, 205}, {28, 206}, {28, 208}, {28, 209}, {28, 218}, {28, 219}, {28, 235}, {28, 246}, {28, 248}}; (*Muscles - weak
*) symt[29] = {{29, 158}, {29, 159}, {29, 160}, {29, 171}, {29, 174}, {29, 175} , {29, 177}, {29, 179}, {29, 196}, {29, 197}, {29, 229}, {29, 230}, {29, 231} , {29, 232}, {29, 238}, {29, 251}, {29, 252}, {29, 257}, {29, 258}, {29, 262} , {29, 267}, {29, 270}, {29, 271}, {29, 272}, {29, 274}, {29, 276}, {29, 278} , {29, 281}, {29, 289}, {29, 292}, {29, 296}, {29, 298}, {29, 302}, {29, 306} , {29, 307}, {29, 311}, {29, 318}, {29, 319}, {29, 323}, {29, 330}, {29, 344} , {29, 346}, {29, 348}, {29, 351}, {29, 354}, {29, 355}, {29, 367}, {29, 376} , {29, 393}, {29, 395}, {29, 400}, {29, 401}, {29, 403}, {29, 406}, {29, 409} , {29, 441}, {29, 442}, {29, 446}, {29, 491}, {29, 502}, {29, 504}, {29, 506}}; (*Menses
*) symt[30] = {{30, 92}, {30, 114}, {30, 139}, {30, 162}, {30, 234}, {30, 258}, {30, 283}, {30, 308}, {30, 331}, {30, 356}, {30, 377}, {30, 401}, {30, 424} , {30, 448}, {30, 470}, {30, 495}, {30, 519}, {30, 550}, {30, 574}, {30, 593}, {30, daymax}}; (*
*) (*Menstruation Cycles
*) mend = {{30, -2}, {30, 92- (2 24 + 23)}, {30, 92 - (24 + 23)}, {30, 92- 24}, {30, 92}, {30, 114}, {30, 139}, {30, 162}, {30, 186}, {30, 210}, {30, 234}, {30, 258}, {30, 283}, {30, 308}, {30, 331}, {30, 356}, {30, 377}, {30, 401}, {30, 424}, {30, 448}, {30, 470}, {30, 495}, {30, 519}, {30, 550}, {30, 574}, {30, 593}, {30, daymax}}; menp = Show[Table[Graphics[Text["M", mend[[i]]]], {i, Count[mend, {_, _}]}]]; (*
*) (*Defintions
*) (*
*) (*Menstruation Cycles
*) (*
*) (*Group occurrence of each symptom with its corresponding menstruation cycle
*) dmensis = Table[mend[[i, 2]], {i, Length[mend] }]; Clear[mendI]; mendI[i_] := {30, mend[[i+1, 2]] - mend[[i, 2]]}; menses = Table[mendI[i], {i, Length[mend] - 1}]; delta = Table[menses[[i, 2]], {i, Length[mend] - 1}];(*vector of menstr. cycle lengths*) Clear[symM]; symM[m_, s_] := ( kk = 0; iis = 0; For[i = 1, i<= Length[symt[s]], i++, If[symt[s][[i, 2]] >= dmensis[[m]], If[symt[s][[i, 2]] < dmensis[[m+1]], kk = i, Break[] ], iis = i] ]; symM[m, s] = Table[{m, symt[s][[i, 2]] - dmensis[[m]]}, {i, iis+1, kk}] ); (*
*) (*Plot Luteal Phase
*) pluteal = Show[ ListPlot[delta, PlotRange->{{0, Count[mend, {_,_}] }, {0, Max[delta] + 1}}, PlotJoined->True, Frame->True], ListPlot[delta - 16, PlotRange->{{0, Count[mend, {_,_}] }, {0, Max[delta] + 1}}, PlotJoined->True, Frame->True], ListPlot[delta - 12, PlotRange->{{0, Count[mend, {_,_}] }, {0, Max[delta] + 1}}, PlotJoined->True, Frame->True]]; (*
*) (**) (*For figure caption see Fig. VIII.3.2 in Lyme Disease: Statistical Evaluation ...*) (*Subset of symt[s] Within Period ds ... df
*) Clear[symp]; symp[s_, ds_, df_] := ( k = 0; is = 0; For[i = 1, i<= Count[symt[s],{_, _}], i++, If[symt[s][[i, 2]] >= ds, If[symt[s][[i, 2]] <= df, k = i, Break[] ], is = i ] ]; symp[s, ds, df] = Table[symt[s][[i]], {i, is+ 1, k}] ); (*
*) (*Distances Between Days With Symptom Occurrence
*) Clear[dist,distp]; distp[s_, i_, ds_, df_] := distp[s, i, ds, df] = Table[{s, symp[s, ds, df][[i+j,2]] - symp[s, ds, df][[i,2]]},{j, Count[symp[s, ds, df], {_, _}]-i}]; dist[s_, ds_, df_] := dist[s, ds, df] = Table[distp[s,k, ds, df],{k, Count[symp[s, ds, df],{_, _}]-1}]; (*
*) (*Frequency Distribution of Distances
*) Clear[freq, freqv, Vfreqv, Sfreq, pstat, Spstat]; freq[s_, ds_, df_, i_] := freq[s, ds, df, i] = Count[Flatten[dist[s, ds, df],1],{_,i}]; freqv[s_, ds_, df_] := Table[freq[s, ds,df, i], {i, df-ds}]; Vfreqv[sv_, ds_, df_] := Table[freqv[sv[[i]], ds, df], {i, Length[sv]}]; Sfreq[sv_, ds_, df_] := Sum[Vfreqv[sv, ds, df][[j]], {j, Length[sv]}]; (*
*) (*Plot of Frequency Distributions
*) Clear[pstat, Spstat, Spstatv]; pstat[s_, ds_, df_, r_] := ( nmax = Ceiling[(df - ds)/28]; (*dmax = Max[Table[Count[Flatten[dist[s, ds, df], 1], {_, i}], {i, df - ds}]];*) lpd[r] = ListPlot[Table[{i, freq[s, ds, df, i]},{i, df - ds}], PlotJoined->True, PlotRange->{{0, df - ds}, r}, GridLines->{Table[n 28 + 1, {n, 0, nmax}], None}, Frame->True, PlotLabel->FontForm[{"Symp.", s, "Days ->", ds, df}, {"Helvetica-Bold", 14}]] ); Spstat[sv_, ds_, df_, r_] := ( nmax = Ceiling[(df - ds)/28]; (*dmax = Max[Table[Count[Flatten[dist[s, ds, df], 1], {_, i}], {i, df - ds}]];*) Slpd[r] = ListPlot[Sfreq[sv, ds, df], PlotJoined->True, PlotRange->{{0, df - ds}, r}, GridLines->{Table[n 28 + 1, {n, 0, nmax}], None}, Frame->True, PlotLabel->FontForm[{(*"Sym", *)sv(*, "Days", ds, df*)}, {"Helvetica", 10}]]; ); Spstatv[sv_, ds_, df_, r_] := ( nmax = Ceiling[(df - ds)/28]; (*dmax = Max[Table[Count[Flatten[dist[s, ds, df], 1], {_, i}], {i, df - ds}]];*) Slpd[r] = ListPlot[Sfreq[sv, ds, df], (*PlotJoined->True,*) PlotRange->{{0, df - ds}, r}, GridLines->{Table[n 28 + 1, {n, 0, nmax}], None}, PlotStyle->Thickness[0.01], PlotJoined->True, Frame->True, PlotLabel->FontForm[{(*"Sym", *)sv(*, "Days", ds, df*)}, {"Helvetica", 10}]]; ); (*
*) (*Plot Menses & Antibiotics Intake
*) pall = Plot[{(*9, 18,*) 99, 128 , 129, 159, 168, (*176, 182, 193, 203, 204, 211, 234, 248*)266, 373, 410, 414, 441, 451, 550}, {x, 0, 29}, PlotStyle->Dashing[{0.06, 0.01}], PlotRange->{{0, 30}, {0, daymax}}, GridLines->{None, Table[n 28, {n, Ceiling[daymax/28.]}]}, Frame->True]; pallM = Show[Table[Plot[dmensis[[i]], {x, 0, 30}, PlotRange->{{0, 30}, {0, daymax}}, Frame->True], {i, Count[mend, {_,_}]}], menp]; (*
*) (**) (*2. Sample Calculation
*) (*Symptom Log
*) Show[Table[ListPlot[symt[i]], {i, 30}], pall(*, pallM*), menp, PlotRange->{{0, 30}, {0, daymax+ 10}}, GridLines->{None, Table[n 28, {n, Ceiling[daymax/28.]}]}, Frame->True]; (**) (*For figure caption see Fig. 1 in Lyme Disease: Statistical Evaluation ... *) (*
*) Spstat[{7}, 1, 98, {0, 30}] (**) (*For figure caption see Fig. 2 in Lyme Disease: Statistical Evaluation ...*) (**) (*
*) (**) (*Notation
eq .............................. set of equations describing 1-compartment system. eq[tb1,ta1,tb2,ta2] set of equations describing 2-compartment system. imp[tb, ta, t] ........... square pulse ending at tb + ta, starting at tb: imp[tb_, ta_, t_] := UnitStep[t - tb](1-UnitStep[t - tb+ta]). kBb[TBb, t] ............. Log[2]/TBb. kI[tb, ta, TI, t] ........ sqp[tb, ta, t] Log[2]/TI. r[t] ......................... source term in compartment system. sqp[tb, ta, t]...............succession of 4 square pulses imp[tb, ta, t], called f in figures. ta (ta1) ................... length of square pulse (number behind symbol specifies corresponding compartment in 2-compartment system: ta = 0: no oscillatory immune system). tb (tb1) ................... time of beginning of square pulse (number behind symbol specifies corresponding compartment in 2-compartment system: ta = 0: no oscillatory immune system). TBb .......................... Bb generation length (cell cycle length). TI ............................. removal half life of immune system. *) (*
*) (**) Needs["Calculus`DiracDelta`"]; (*
*) (*Definitions
*) (**) (*Definitions: Square pulse, kI, kBb and syml
*) Clear[imp, kBb, kI, sqp, syml]; imp[tb_, ta_, t_] := UnitStep[t - tb](1-UnitStep[t - (ta+tb)]); kI[tb_, ta_, TI_, t_] := sqp[tb, ta, t] Log[2]/TI; kBb[TBb_, t_] := Log[2]/TBb; sqp[tb_, ta_, t_] := imp[tb, ta, t] + imp[tb, ta, t - (ta+tb)] + imp[tb, ta, t - 2 (ta+tb)] + imp[tb, ta, t - 3 (ta+tb)] + imp[tb, ta, t - 4 (ta+tb)] + imp[tb, ta, t - 5 (ta+tb)] ; syml[s_, ds_, df_, to_, so_] := ( Map[Reverse, symp[s, ds, df]] + Table[{to, so}, {i, Count[symp[s, ds, df], {_, _}]}]); (*
*) (**) (*Definitions: One-Compartment System
*) Clear[eq1]; eq1 = {C'[t] == (kBb[TBb, t] - kI[tb, ta, TI, t]) C[t], C[0] == 2}; (*
*) (*Definitions: Two-Compartment System: System With Antibiotics
*) (**) Clear[eq2]; eq2[tb1_, ta1_, tb2_, ta2_] := { C1'[t] == r[t] - (kBb[TBb, t] + kI[tb1, ta1, TBbI, t]) C1[t], C2'[t] == kBb[TBb, t] C1[t] - kI[tb2, ta2, TFI, t] C2[t], C1[0] == 0, C2[0] == 0 }; (*
*) (**) (*Sample Computations: One-Compartment System
*) TBb = 7; TI = 0.1 TBb; tb = 20; ta = 3; nsol1 = NDSolve[eq1, C, {t, 0, 4 (tb+ta)}]; Plot[ Log[10, Evaluate[C[t]] /.nsol1], {t, 0, 4 (tb+ta)}, PlotRange->{{0, 4 (tb+ta)}, {-1, 2}}, AxesOrigin->{0,0}, Frame->True, PlotStyle->Thickness[0.008] ]; (**) (*
*) (**) (*Sample Computations: Two-Compartment System
*) TBb = 5; TBbI = 0.1 TBb; TFI = 2 TBbI; Clear[r]; r[t_] := -2/100 t + 2; tb1 = 2.5 TBb; ta1 = 0.52 TBb; tb2 = 3 TBb; ta2 = 2 TBb; SetOptions[NDSolve, MaxSteps->2000]; nsol2 = NDSolve[eq2[tb1, ta1, tb2, ta2], {C1, C2}, {t, 10^-1, 100}] Show[ Plot[Log[10, C1[t]]/.nsol2, {t, 10^-4, 100}, PlotStyle->Dashing[{0.02, 0.01}]], Plot[Log[10, C2[t]]/.nsol2, {t, 10^-4, 100}, PlotStyle->Thickness[0.01]], PlotRange->{{0, 5(tb2+ta2)}, {-1, 2}}, Frame->True] (**) (*
version: March 15, 2005
Address of this page is http://www.lymenet.de/symptoms/cycles/mathcode.htm
Home of this Site is http://www.lymenet.de For comments and questions: Joachim Gruber *)