|
| 1 | ++++ |
| 2 | +title = "Experimental Verification of the NKTg Law Using NASA Neptune Data (2023–2024)" |
| 3 | ++++ |
| 4 | + |
| 5 | +# Experimental Verification of the NKTg Law Using NASA Neptune Data (2023–2024) |
| 6 | + |
| 7 | +{{trans|Q#}} |
| 8 | + |
| 9 | +```zc |
| 10 | +import "std/math.zc" |
| 11 | +
|
| 12 | +fn compute_nktg(x: f64, v: f64, m: f64, dm_dt: f64) { |
| 13 | + let p = m * v; |
| 14 | + let nktg1 = x * p; |
| 15 | + let nktg2 = dm_dt * p; |
| 16 | + let nktg = Math::sqrt(nktg1 * nktg1 + nktg2 * nktg2); |
| 17 | +
|
| 18 | + println "--------------------------------------------"; |
| 19 | + println "Position (x) : {x:0.0f}"; |
| 20 | + println "Velocity (v) : {v:0.2f}"; |
| 21 | + println "Mass (m) : {m:0.0f}"; |
| 22 | + println "Momentum (p = m * v) : {p:0.0f}"; |
| 23 | + println "NKTg1 = x * p : {nktg1:0.0f}"; |
| 24 | + println "NKTg2 = dm_dt * p : {nktg2:0.0f}"; |
| 25 | + println "Total NKTg : {nktg:0.0f}"; |
| 26 | +} |
| 27 | +
|
| 28 | +fn main() { |
| 29 | + println "============================================"; |
| 30 | + println "NKTg Law - Neptune 2023 NASA Data"; |
| 31 | + println "============================================"; |
| 32 | +
|
| 33 | + // 2023 NASA Data (Neptune) |
| 34 | + let dm_dt = -0.00002000; |
| 35 | +
|
| 36 | + let data2023: (f64, f64, f64)[5] = [ |
| 37 | + [4498396440.0, 5.43, 1.02430000e26], |
| 38 | + [4503443661.0, 5.43, 1.02429980e26], |
| 39 | + [4553946490.0, 5.43, 1.02429960e26], |
| 40 | + [4503443661.0, 5.43, 1.02429940e26], |
| 41 | + [4498396440.0, 5.43, 1.02429920e26] |
| 42 | + ]; |
| 43 | +
|
| 44 | + for e in data2023 { |
| 45 | + let (x, v, m) = e; |
| 46 | + compute_nktg(x, v, m, dm_dt); |
| 47 | + } |
| 48 | +
|
| 49 | + println "\n============================================"; |
| 50 | + println "NKTg Law - Neptune 2024 Simulation"; |
| 51 | + println "============================================"; |
| 52 | +
|
| 53 | + let data2024: (f64, f64, f64)[5] = [ |
| 54 | + (4498396440.0, 5.43, 1.02429900e26), |
| 55 | + (4503443661.0, 5.43, 1.02429880e26), |
| 56 | + (4553946490.0, 5.43, 1.02429860e26), |
| 57 | + (4503443661.0, 5.43, 1.02429840e26), |
| 58 | + (4498396440.0, 5.43, 1.02429820e26) |
| 59 | + ]; |
| 60 | +
|
| 61 | + for e in data2024 { |
| 62 | + let (x, v, m) = e; |
| 63 | + compute_nktg(x, v, m, dm_dt); |
| 64 | + } |
| 65 | +
|
| 66 | + println "\n============================================"; |
| 67 | + println "Experiment Completed"; |
| 68 | + println "============================================"; |
| 69 | +} |
| 70 | +``` |
| 71 | + |
| 72 | +**Output:** |
| 73 | + |
| 74 | +``` |
| 75 | +
|
| 76 | +############################################ NKTg Law - Neptune 2023 NASA Data |
| 77 | +
|
| 78 | +-------------------------------------------- |
| 79 | +Position (x) : 4498396440 |
| 80 | +Velocity (v) : 5.43 |
| 81 | +Mass (m) : 102430000000000008208252928 |
| 82 | +Momentum (p = m * v) : 556194900000000047834988544 |
| 83 | +NKTg1 = x * p : 2501985158106156083146661858719563776 |
| 84 | +NKTg2 = dm_dt * p : -11123898000000002555904 |
| 85 | +Total NKTg : 2501985158106156083146661858719563776 |
| 86 | +-------------------------------------------- |
| 87 | +Position (x) : 4503443661 |
| 88 | +Velocity (v) : 5.43 |
| 89 | +Mass (m) : 102429979999999995655749632 |
| 90 | +Momentum (p = m * v) : 556194791399999965415604224 |
| 91 | +NKTg1 = x * p : 2504791907611547214820196617625272320 |
| 92 | +NKTg2 = dm_dt * p : -11123895827999999655936 |
| 93 | +Total NKTg : 2504791907611547214820196617625272320 |
| 94 | +-------------------------------------------- |
| 95 | +Position (x) : 4553946490 |
| 96 | +Velocity (v) : 5.43 |
| 97 | +Mass (m) : 102429960000000000283115520 |
| 98 | +Momentum (p = m * v) : 556194682799999951715696640 |
| 99 | +NKTg1 = x * p : 2532880823493723022518856423204454400 |
| 100 | +NKTg2 = dm_dt * p : -11123893656000000950272 |
| 101 | +Total NKTg : 2532880823493723022518856423204454400 |
| 102 | +-------------------------------------------- |
| 103 | +Position (x) : 4503443661 |
| 104 | +Velocity (v) : 5.43 |
| 105 | +Mass (m) : 102429940000000004910481408 |
| 106 | +Momentum (p = m * v) : 556194574200000006735265792 |
| 107 | +NKTg1 = x * p : 2504790929463584156593795259823030272 |
| 108 | +NKTg2 = dm_dt * p : -11123891484000000147456 |
| 109 | +Total NKTg : 2504790929463584156593795259823030272 |
| 110 | +-------------------------------------------- |
| 111 | +Position (x) : 4498396440 |
| 112 | +Velocity (v) : 5.43 |
| 113 | +Mass (m) : 102429919999999992357978112 |
| 114 | +Momentum (p = m * v) : 556194465599999924315881472 |
| 115 | +NKTg1 = x * p : 2501983204002742083276785197042892800 |
| 116 | +NKTg2 = dm_dt * p : -11123889311999999344640 |
| 117 | +Total NKTg : 2501983204002742083276785197042892800 |
| 118 | +
|
| 119 | +############################################ NKTg Law - Neptune 2024 Simulation |
| 120 | +
|
| 121 | +-------------------------------------------- |
| 122 | +Position (x) : 4498396440 |
| 123 | +Velocity (v) : 5.43 |
| 124 | +Mass (m) : 102429899999999996985344000 |
| 125 | +Momentum (p = m * v) : 556194356999999979335450624 |
| 126 | +NKTg1 = x * p : 2501982715476888878457221210976550912 |
| 127 | +NKTg2 = dm_dt * p : -11123887140000000638976 |
| 128 | +Total NKTg : 2501982715476888878457221210976550912 |
| 129 | +-------------------------------------------- |
| 130 | +Position (x) : 4503443661 |
| 131 | +Velocity (v) : 5.43 |
| 132 | +Mass (m) : 102429880000000001612709888 |
| 133 | +Momentum (p = m * v) : 556194248399999965635543040 |
| 134 | +NKTg1 = x * p : 2504789462241639274106288043766841344 |
| 135 | +NKTg2 = dm_dt * p : -11123884967999999836160 |
| 136 | +Total NKTg : 2504789462241639274106288043766841344 |
| 137 | +-------------------------------------------- |
| 138 | +Position (x) : 4553946490 |
| 139 | +Velocity (v) : 5.43 |
| 140 | +Mass (m) : 102429860000000006240075776 |
| 141 | +Momentum (p = m * v) : 556194139800000020655112192 |
| 142 | +NKTg1 = x * p : 2532878350700779383730369029335941120 |
| 143 | +NKTg2 = dm_dt * p : -11123882796000001130496 |
| 144 | +Total NKTg : 2532878350700779383730369029335941120 |
| 145 | +-------------------------------------------- |
| 146 | +Position (x) : 4503443661 |
| 147 | +Velocity (v) : 5.43 |
| 148 | +Mass (m) : 102429839999999993687572480 |
| 149 | +Momentum (p = m * v) : 556194031199999938235727872 |
| 150 | +NKTg1 = x * p : 2504788484093675920731981506611773440 |
| 151 | +NKTg2 = dm_dt * p : -11123880624000000327680 |
| 152 | +Total NKTg : 2504788484093675920731981506611773440 |
| 153 | +-------------------------------------------- |
| 154 | +Position (x) : 4498396440 |
| 155 | +Velocity (v) : 5.43 |
| 156 | +Mass (m) : 102429819999999998314938368 |
| 157 | +Momentum (p = m * v) : 556193922599999993255297024 |
| 158 | +NKTg1 = x * p : 2501980761373475468883154908005531648 |
| 159 | +NKTg2 = dm_dt * p : -11123878452000001622016 |
| 160 | +Total NKTg : 2501980761373475468883154908005531648 |
| 161 | +
|
| 162 | +############################################ Experiment Completed |
| 163 | +
|
| 164 | +``` |
| 165 | + |
| 166 | +--- |
| 167 | +**Attribution:** This is a community solution for the Rosetta Code task [**Experimental Verification of the NKTg Law Using NASA Neptune Data (2023–2024)**](https://rosettacode.org/wiki/Experimental_Verification_of_the_NKTg_Law_Using_NASA_Neptune_Data_(2023–2024)) in Zen C. |
| 168 | + |
| 169 | +*This article uses material from the Rosetta Code article **Experimental Verification of the NKTg Law Using NASA Neptune Data (2023–2024)**, which is released under the [GNU Free Documentation License 1.3](https://www.gnu.org/licenses/fdl-1.3.html). A list of the original authors can be found in the [page history](https://rosettacode.org/wiki/Experimental_Verification_of_the_NKTg_Law_Using_NASA_Neptune_Data_(2023–2024)?action=history).* |
0 commit comments