Experimental Verification of the NKTg Law Interpolating the Masses of 8 Planets Using NASA Data as of 30–31/12/2024 (Ruby on Rails Implementation)

This experiment applies the NKTg Law of Variable Inertia to interpolate the masses of the 8 planets using NASA’s real-time data (30–31/12/2024).

The formula used is:

m = NKTg1 / (x * v)

where:

  • x = position (km)

  • v = velocity (km/s)

  • NKTg1 = x * (m * v)

According to this law, interpolated planetary masses match NASA’s official values with almost zero error.

Below is a Ruby on Rails Rake task implementing this experiment.


# File: lib/tasks/nktg_experiment.rake
# Author: Nguyễn Khánh Tùng (adapted for Ruby on Rails Forum)
# Purpose: Experimental Verification of the NKTg Law using NASA Data 2024

namespace :nktg do
  desc "Run NKTg Law Experimental Verification"
  task experiment: :environment do
    planets = [
      { name: "Mercury", x_km: 6.9817930e7, v_kms: 38.86, NKTg1: 8.951e32, nasa_m: 3.301e23 },
      { name: "Venus",   x_km: 1.0893900e8, v_kms: 35.02, NKTg1: 1.858e34, nasa_m: 4.867e24 },
      { name: "Earth",   x_km: 1.4710000e8, v_kms: 29.29, NKTg1: 2.571e34, nasa_m: 5.972e24 },
      { name: "Mars",    x_km: 2.4923000e8, v_kms: 24.07, NKTg1: 3.850e33, nasa_m: 6.417e23 },
      { name: "Jupiter", x_km: 8.1662000e8, v_kms: 13.06, NKTg1: 2.024e37, nasa_m: 1.898e27 },
      { name: "Saturn",  x_km: 1.5065300e9, v_kms: 9.69,  NKTg1: 8.303e36, nasa_m: 5.683e26 },
      { name: "Uranus",  x_km: 3.0013900e9, v_kms: 6.8,   NKTg1: 1.772e36, nasa_m: 8.681e25 },
      { name: "Neptune", x_km: 4.5589000e9, v_kms: 5.43,  NKTg1: 2.534e36, nasa_m: 1.024e26 }
    ]

    puts "Planet      NASA_m (kg)       Interpolated_m (kg)   Delta_m (kg)       RelError (%)"
    puts "-" * 80

    max_error = 0.0

    planets.each do |p|
      interpolated_m = p[:NKTg1] / (p[:x_km] * p[:v_kms])
      delta_m = p[:nasa_m] - interpolated_m
      rel_error = (delta_m / p[:nasa_m]) * 100.0

      max_error = [max_error, rel_error.abs].max

      puts "%-10s %-15.5e %-20.5e %-15.5e %-10.5e" % [
        p[:name], p[:nasa_m], interpolated_m, delta_m, rel_error
      ]
    end

    puts "\nMax relative error: %.5e %%" % max_error
  end
end


:pushpin: How to run in Rails:

  1. Save this file as lib/tasks/nktg_experiment.rake

  2. In terminal, run:

bin/rails nktg:experiment

  1. The output will be a table comparing NASA’s official masses with the interpolated ones. The relative error is essentially zero, confirming the accuracy of the NKTg interpolation law.