This commit is contained in:
grizzly 2024-07-19 18:17:01 -04:00
parent 52b5fdeb98
commit 85d4edf508
2 changed files with 244 additions and 220 deletions

View file

@ -6,7 +6,7 @@
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2024-07-18T22:09:53.751451</dc:date>
<dc:date>2024-07-19T17:26:33.439337</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
@ -39,7 +39,7 @@ z
</g>
<g id="PathCollection_1">
<defs>
<path id="m0f5ac4a85e" d="M 0 3
<path id="m805d4e7abe" d="M 0 3
C 0.795609 3 1.55874 2.683901 2.12132 2.12132
C 2.683901 1.55874 3 0.795609 3 0
C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132
@ -51,44 +51,44 @@ C -1.55874 2.683901 -0.795609 3 0 3
z
" style="stroke: #ffa500; stroke-opacity: 0.5"/>
</defs>
<g clip-path="url(#p5d16156bca)">
<use xlink:href="#m0f5ac4a85e" x="135.369684" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="186.78796" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="238.206235" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="289.62451" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="341.042785" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="392.46106" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="443.879335" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="495.29761" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="546.715885" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="598.134161" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="649.552436" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="700.970711" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="752.388986" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="803.807261" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="855.225536" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="906.643811" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="958.062086" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="1009.480362" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="1060.898637" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m0f5ac4a85e" x="1112.316912" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<g clip-path="url(#p6bfb98ea7b)">
<use xlink:href="#m805d4e7abe" x="109.660547" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="162.370738" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="215.08093" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="267.791122" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="320.501313" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="373.211505" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="425.921696" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="478.631888" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="531.34208" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="584.052271" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="636.762463" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="689.472654" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="742.182846" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="794.893037" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="847.603229" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="900.313421" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="953.023612" y="137.168698" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="1005.733804" y="196.460547" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="1058.443995" y="315.044245" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="1111.154187" y="255.752396" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
</g>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="mb1afcd9817" d="M 0 0
<path id="m163d10c536" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#mb1afcd9817" x="135.369684" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="109.660547" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- 0.0 -->
<g transform="translate(125.200153 392.586094) scale(0.15 -0.15)">
<g transform="translate(99.491016 392.586094) scale(0.15 -0.15)">
<defs>
<path id="FiraSans-Regular-30" d="M 1786 4346
Q 2496 4346 2857 3779
@ -132,12 +132,12 @@ z
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#mb1afcd9817" x="263.915372" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="241.436026" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- 2.5 -->
<g transform="translate(254.645841 392.586094) scale(0.15 -0.15)">
<g transform="translate(232.166495 392.586094) scale(0.15 -0.15)">
<defs>
<path id="FiraSans-Regular-32" d="M 1459 4346
Q 1843 4346 2134 4192
@ -198,12 +198,12 @@ z
<g id="xtick_3">
<g id="line2d_3">
<g>
<use xlink:href="#mb1afcd9817" x="392.46106" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="373.211505" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
<!-- 5.0 -->
<g transform="translate(382.719263 392.586094) scale(0.15 -0.15)">
<g transform="translate(363.469708 392.586094) scale(0.15 -0.15)">
<use xlink:href="#FiraSans-Regular-35"/>
<use xlink:href="#FiraSans-Regular-2e" x="50.099991"/>
<use xlink:href="#FiraSans-Regular-30" x="74.099976"/>
@ -213,12 +213,12 @@ z
<g id="xtick_4">
<g id="line2d_4">
<g>
<use xlink:href="#mb1afcd9817" x="521.006748" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="504.986984" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- 7.5 -->
<g transform="translate(512.119248 392.586094) scale(0.15 -0.15)">
<g transform="translate(496.099484 392.586094) scale(0.15 -0.15)">
<defs>
<path id="FiraSans-Regular-37" d="M 2650 4282
L 2650 3840
@ -240,12 +240,12 @@ z
<g id="xtick_5">
<g id="line2d_5">
<g>
<use xlink:href="#mb1afcd9817" x="649.552436" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="636.762463" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- 10.0 -->
<g transform="translate(636.135639 392.586094) scale(0.15 -0.15)">
<g transform="translate(623.345666 392.586094) scale(0.15 -0.15)">
<defs>
<path id="FiraSans-Regular-31" d="M 2067 4282
L 2067 0
@ -268,12 +268,12 @@ z
<g id="xtick_6">
<g id="line2d_6">
<g>
<use xlink:href="#mb1afcd9817" x="778.098123" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="768.537942" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
<!-- 12.5 -->
<g transform="translate(765.581327 392.586094) scale(0.15 -0.15)">
<g transform="translate(756.021145 392.586094) scale(0.15 -0.15)">
<use xlink:href="#FiraSans-Regular-31"/>
<use xlink:href="#FiraSans-Regular-32" x="43.299988"/>
<use xlink:href="#FiraSans-Regular-2e" x="92.799973"/>
@ -284,12 +284,12 @@ z
<g id="xtick_7">
<g id="line2d_7">
<g>
<use xlink:href="#mb1afcd9817" x="906.643811" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="900.313421" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_7">
<!-- 15.0 -->
<g transform="translate(893.654749 392.586094) scale(0.15 -0.15)">
<g transform="translate(887.324358 392.586094) scale(0.15 -0.15)">
<use xlink:href="#FiraSans-Regular-31"/>
<use xlink:href="#FiraSans-Regular-35" x="43.299988"/>
<use xlink:href="#FiraSans-Regular-2e" x="93.399979"/>
@ -300,12 +300,12 @@ z
<g id="xtick_8">
<g id="line2d_8">
<g>
<use xlink:href="#mb1afcd9817" x="1035.189499" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="1032.0889" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_8">
<!-- 17.5 -->
<g transform="translate(1023.054733 392.586094) scale(0.15 -0.15)">
<g transform="translate(1019.954134 392.586094) scale(0.15 -0.15)">
<use xlink:href="#FiraSans-Regular-31"/>
<use xlink:href="#FiraSans-Regular-37" x="43.299988"/>
<use xlink:href="#FiraSans-Regular-2e" x="87.699982"/>
@ -316,12 +316,12 @@ z
<g id="xtick_9">
<g id="line2d_9">
<g>
<use xlink:href="#mb1afcd9817" x="1163.735187" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m163d10c536" x="1163.864379" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_9">
<!-- 20.0 -->
<g transform="translate(1149.853156 392.586094) scale(0.15 -0.15)">
<g transform="translate(1149.982347 392.586094) scale(0.15 -0.15)">
<use xlink:href="#FiraSans-Regular-32"/>
<use xlink:href="#FiraSans-Regular-30" x="49.499985"/>
<use xlink:href="#FiraSans-Regular-2e" x="105.299973"/>
@ -425,12 +425,12 @@ z
<g id="ytick_1">
<g id="line2d_10">
<defs>
<path id="m011c354297" d="M 0 0
<path id="m8c7cafd866" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m011c354297" x="57.213906" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="374.336094" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
@ -453,7 +453,7 @@ z
<g id="ytick_2">
<g id="line2d_11">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="315.044245" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="315.044245" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
@ -466,7 +466,7 @@ z
<g id="ytick_3">
<g id="line2d_12">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="255.752396" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="255.752396" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
@ -479,7 +479,7 @@ z
<g id="ytick_4">
<g id="line2d_13">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="196.460547" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="196.460547" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_14">
@ -492,7 +492,7 @@ z
<g id="ytick_5">
<g id="line2d_14">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="137.168698" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="137.168698" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_15">
@ -540,7 +540,7 @@ z
<g id="ytick_6">
<g id="line2d_15">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="77.876849" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="77.876849" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_16">
@ -573,7 +573,7 @@ z
<g id="ytick_7">
<g id="line2d_16">
<g>
<use xlink:href="#m011c354297" x="57.213906" y="18.585" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m8c7cafd866" x="57.213906" y="18.585" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_17">
@ -672,174 +672,174 @@ z
</g>
<g id="line2d_17">
<path d="M 109.660547 315.044245
L 161.078822 315.044245
L 161.078822 255.752396
L 212.497097 255.752396
L 212.497097 196.460547
L 263.915372 196.460547
L 263.915372 137.168698
L 315.333647 137.168698
L 315.333647 315.044245
L 366.751922 315.044245
L 366.751922 315.044245
L 418.170198 315.044245
L 418.170198 255.752396
L 469.588473 255.752396
L 469.588473 196.460547
L 521.006748 196.460547
L 521.006748 315.044245
L 572.425023 315.044245
L 572.425023 255.752396
L 623.843298 255.752396
L 623.843298 196.460547
L 675.261573 196.460547
L 675.261573 137.168698
L 726.679848 137.168698
L 726.679848 315.044245
L 778.098123 315.044245
L 778.098123 137.168698
L 829.516399 137.168698
L 829.516399 315.044245
L 880.934674 315.044245
L 880.934674 196.460547
L 932.352949 196.460547
L 932.352949 137.168698
L 983.771224 137.168698
L 983.771224 196.460547
L 1035.189499 196.460547
L 1035.189499 315.044245
L 1086.607774 315.044245
L 1086.607774 255.752396
" clip-path="url(#p5d16156bca)" style="fill: none; stroke: #1f77b4; stroke-opacity: 0.5; stroke-width: 1.5; stroke-linecap: square"/>
L 162.370738 315.044245
L 162.370738 255.752396
L 215.08093 255.752396
L 215.08093 196.460547
L 267.791122 196.460547
L 267.791122 137.168698
L 320.501313 137.168698
L 320.501313 315.044245
L 373.211505 315.044245
L 373.211505 315.044245
L 425.921696 315.044245
L 425.921696 255.752396
L 478.631888 255.752396
L 478.631888 196.460547
L 531.34208 196.460547
L 531.34208 315.044245
L 584.052271 315.044245
L 584.052271 255.752396
L 636.762463 255.752396
L 636.762463 196.460547
L 689.472654 196.460547
L 689.472654 137.168698
L 742.182846 137.168698
L 742.182846 315.044245
L 794.893037 315.044245
L 794.893037 137.168698
L 847.603229 137.168698
L 847.603229 315.044245
L 900.313421 315.044245
L 900.313421 196.460547
L 953.023612 196.460547
L 953.023612 137.168698
L 1005.733804 137.168698
L 1005.733804 196.460547
L 1058.443995 196.460547
L 1058.443995 315.044245
L 1111.154187 315.044245
L 1111.154187 255.752396
" clip-path="url(#p6bfb98ea7b)" style="fill: none; stroke: #1f77b4; stroke-opacity: 0.5; stroke-width: 1.5; stroke-linecap: square"/>
</g>
<g id="line2d_18">
<path d="M 135.369684 315.044245
L 135.382804 -1
M 186.686683 -1
L 186.900269 433
M 237.436257 433
L 238.206235 196.460547
L 239.121672 -1
M 287.411457 -1
L 289.62451 137.168698
L 294.766337 387.203355
L 296.115964 433
M 333.509615 433
L 335.900957 392.996073
L 341.042785 315.044246
L 346.184612 251.088141
L 351.32644 204.582511
L 356.468267 176.733454
L 361.610095 166.848943
L 366.751922 172.761168
L 371.89375 191.276406
L 377.035578 218.615656
L 382.177405 250.817387
L 387.319233 284.081855
L 392.46106 315.044252
L 397.602888 340.970745
L 402.744715 359.87753
L 407.886543 370.577848
L 413.02837 372.665548
L 418.170198 366.446148
L 423.312025 352.828259
L 428.453853 333.18795
L 433.59568 309.219011
L 438.737508 282.780607
L 443.879335 255.752413
L 449.021163 229.905512
L 454.16299 206.795145
L 459.304818 187.679345
L 464.446645 173.46544
L 469.588473 164.684721
L 474.7303 161.492963
L 479.872128 163.694926
L 485.013955 170.788134
L 490.155783 182.020822
L 495.29761 196.460599
L 500.439438 213.066959
L 510.723093 248.506117
L 515.86492 265.343106
L 521.006748 280.463426
L 526.148575 293.231509
L 531.290403 303.209293
L 536.43223 310.163908
L 541.574058 314.060692
L 546.715885 315.044325
L 551.857713 313.411752
L 556.99954 309.57556
L 562.141368 304.023614
L 567.283195 297.276174
L 572.425023 289.847603
L 582.708678 274.741298
L 587.850506 267.747853
L 592.992333 261.398104
L 598.134161 255.752733
L 603.275988 250.75182
L 608.417816 246.234563
L 618.701471 237.652287
L 623.843298 232.987147
L 628.985126 227.678117
L 634.126953 221.484195
L 639.268781 214.229513
L 644.410608 205.870057
L 649.552436 196.453574
L 654.694263 186.201557
L 664.977918 164.580118
L 670.119746 154.23077
L 675.261573 145.000524
L 680.403401 137.53044
L 685.545228 132.496053
L 690.687056 130.461254
L 695.828883 131.907802
L 700.970711 137.164402
L 706.112538 146.363187
L 711.254366 159.397372
L 716.396193 175.959798
L 721.538021 195.418359
L 726.679848 216.973627
L 736.963503 261.994224
L 742.105331 282.946782
L 747.247158 301.065177
L 752.388986 315.013838
L 757.530813 323.687163
L 762.672641 326.130637
L 767.814468 321.674906
L 772.956296 310.142339
L 778.098123 291.617748
L 783.239951 267.021851
L 788.381778 237.337634
L 793.523606 204.368808
L 798.665434 170.192263
L 803.807261 137.167873
L 808.949089 107.897003
L 814.090916 85.065773
L 819.232744 71.21755
L 824.374571 68.534009
L 829.516399 78.583246
L 834.658226 102.114305
L 839.800054 139.336794
L 844.941881 188.75357
L 850.083709 248.770234
L 855.225536 315.082692
L 860.367364 383.752892
L 864.23882 433
M 896.727017 433
L 901.501984 333.276518
L 906.643811 196.327155
L 912.915109 -1
M 956.043477 -1
L 958.062086 137.679047
L 961.390493 433
M 1008.676191 433
L 1009.480362 196.274792
L 1009.952453 -1
M 1060.747328 -1
L 1060.932945 433
M 1112.311336 433
L 1112.321146 -1
L 1112.321146 -1
" clip-path="url(#p5d16156bca)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #ff7f0e; stroke-width: 1.5"/>
<path d="M 109.660547 315.044245
L 109.673996 -1
M 162.266917 -1
L 162.48587 433
M 214.291606 433
L 215.08093 196.460547
L 216.019368 -1
M 265.522465 -1
L 267.791122 137.168698
L 273.062141 387.203355
L 274.445678 433
M 312.778868 433
L 315.230294 392.996073
L 320.501313 315.044246
L 325.772332 251.088141
L 331.043352 204.582511
L 336.314371 176.733454
L 341.58539 166.848943
L 346.856409 172.761168
L 352.127428 191.276406
L 357.398447 218.615656
L 362.669466 250.817387
L 367.940486 284.081855
L 373.211505 315.044252
L 378.482524 340.970745
L 383.753543 359.87753
L 389.024562 370.577848
L 394.295581 372.665548
L 399.566601 366.446148
L 404.83762 352.828259
L 410.108639 333.18795
L 415.379658 309.219011
L 420.650677 282.780607
L 425.921696 255.752413
L 431.192716 229.905512
L 436.463735 206.795145
L 441.734754 187.679345
L 447.005773 173.46544
L 452.276792 164.684721
L 457.547811 161.492963
L 462.81883 163.694926
L 468.08985 170.788134
L 473.360869 182.020822
L 478.631888 196.460599
L 483.902907 213.066959
L 494.444945 248.506117
L 499.715965 265.343106
L 504.986984 280.463426
L 510.258003 293.231509
L 515.529022 303.209293
L 520.800041 310.163908
L 526.07106 314.060692
L 531.34208 315.044325
L 536.613099 313.411752
L 541.884118 309.57556
L 547.155137 304.023614
L 552.426156 297.276174
L 557.697175 289.847603
L 568.239214 274.741298
L 573.510233 267.747853
L 578.781252 261.398104
L 584.052271 255.752733
L 589.32329 250.75182
L 594.594309 246.234563
L 605.136348 237.652287
L 610.407367 232.987147
L 615.678386 227.678117
L 620.949405 221.484195
L 626.220424 214.229513
L 631.491444 205.870057
L 636.762463 196.453574
L 642.033482 186.201557
L 652.57552 164.580118
L 657.846539 154.23077
L 663.117558 145.000524
L 668.388578 137.53044
L 673.659597 132.496053
L 678.930616 130.461254
L 684.201635 131.907802
L 689.472654 137.164402
L 694.743673 146.363187
L 700.014693 159.397372
L 705.285712 175.959798
L 710.556731 195.418359
L 715.82775 216.973627
L 726.369788 261.994224
L 731.640808 282.946782
L 736.911827 301.065177
L 742.182846 315.013838
L 747.453865 323.687163
L 752.724884 326.130637
L 757.995903 321.674906
L 763.266923 310.142339
L 768.537942 291.617748
L 773.808961 267.021851
L 779.07998 237.337634
L 784.350999 204.368808
L 789.622018 170.192263
L 794.893037 137.167873
L 800.164057 107.897003
L 805.435076 85.065773
L 810.706095 71.21755
L 815.977114 68.534009
L 821.248133 78.583246
L 826.519152 102.114305
L 831.790172 139.336794
L 837.061191 188.75357
L 842.33221 248.770234
L 847.603229 315.082692
L 852.874248 383.752892
L 856.842977 433
M 890.147461 433
L 895.042401 333.276518
L 900.313421 196.327155
L 906.742288 -1
M 950.954284 -1
L 953.023612 137.679047
L 956.435648 433
M 1004.909428 433
L 1005.733804 196.274792
L 1006.217756 -1
M 1058.288885 -1
L 1058.479165 433
M 1111.148471 433
L 1111.158528 -1
L 1111.158528 -1
" clip-path="url(#p6bfb98ea7b)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #ff7f0e; stroke-width: 1.5"/>
</g>
<g id="patch_3">
<path d="M 57.213906 374.336094
@ -1020,7 +1020,7 @@ z
</g>
<g id="PathCollection_2">
<g>
<use xlink:href="#m0f5ac4a85e" x="503.194531" y="61.792031" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
<use xlink:href="#m805d4e7abe" x="503.194531" y="61.792031" style="fill: #ffa500; fill-opacity: 0.5; stroke: #ffa500; stroke-opacity: 0.5"/>
</g>
</g>
<g id="text_20">
@ -1290,7 +1290,7 @@ z
</g>
</g>
<defs>
<clipPath id="p5d16156bca">
<clipPath id="p6bfb98ea7b">
<rect x="57.213906" y="18.585" width="1153.826094" height="355.751094"/>
</clipPath>
</defs>

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before After
Before After

View file

@ -26,7 +26,7 @@ This principle provide a mathematically proovable way for each task to determine
= Polynomials
Contrary to popular beliefs, polynomials are not boring.
Let us consider a problem with four tasks $(t_0,t_1,t_2,t_3)$ and a schedule array of 20 time period
Let us consider a problem with four tasks $(t_0,t_1,t_2,t_3)$ and a schedule array of 20 time periods
$
A = [0,1,2,3,0,0,1,2,0,1,2,3,0,3,0,2,3,2,0,1]
$
@ -34,4 +34,28 @@ $
#figure(
image("images/polyfit.svg", width:100%),
caption: "Scheduling function defined as a polynomial fit of the scheduling array."
)
)<fig-polyfit>
== Clock Sensitivity
In order for every task to know when they can transmit, they all need to evaluate the scheduling function at the same times.
In the real world, that could be very difficult as the clock of each task can drift over time.
Some people suggested to use atomic clock chips as the RTC of clock so that, after a syncronisation phase, all timings across tasks would remain exact #footnote[Atomic clocks drift is estimated at one second per hunred million year (Wikipedia).].
However, I suspect that the person proposing this solution have atomic clock in their office drawer and don't think of us, mere students, that do not have 6k to invest in a fancy clock.
This raises the question; How sensitive is a scheduling function to clock imprecision?
After all, the function is exact on the start of the period but has no constraint during the period.
We define the clock sensitivity of a scheduling function $"cs"(s)$ as the maximum time delta around any period start without an incorrect task decision.
$
"cs"(s) = max_(delta t)(s(tau_i plus.minus delta t) = A[tau_i]; forall tau_i)
$
Let us consider again the example displayed in @fig-polyfit.
As the degree of the polynomial grows to perfectly fit the schedul, extreme variations appear during the periods.
These extreme variations induce high derivative of the function at the sampling time that makes the clock sensitivity very small.
== Problems with Polynomials
A single polynomial fitted to the schedul does not seem like a good approach as it require a very precise clock to obtain the correct values.
Moreover, storing the polynomial coefficient for the function requires at least as much memory as storing the schedule itself.
Finally, evaluating the function is more computation-intensive than looking up a value in a table.
= Regression, imprefect fit, and flatten scheduling array.