यूरेनस कक्षा से नेप्च्यून की खोज कैसे करें (कंप्यूटर सिमुलेशन द्वारा)


12

मैं यूरेनस कक्षा के अवलोकन और गणितीय भविष्यवाणी के बीच विसंगति का अध्ययन करके एक और ग्रह (नेपच्यून) के अस्तित्व का प्रदर्शन करना चाहूंगा, यह काम ले वेरियर से किया गया था और मैं उसकी विधि को समझना चाहूंगा।

मैंने जीवनी Le Verrier - Magnific और Detestable Astronomer की अध्याय 2, "द डिस्कवरी ऑफ नेप्च्यून (1845-1846), को पढ़ा है, लेकिन यह बहुत अधिक गहराई में है और मुझे यह बहुत अच्छा नहीं समझ में आया।

मैं मतलाब के माध्यम से तीन-शरीर की समस्या (सूर्य, यूरेनस, नेपच्यून) का अध्ययन कर रहा हूं और दो शरीर समस्या (सूर्य, यूरेनस) यहां से प्रारंभिक स्थिति ले रहा हूं:

http://nssdc.gsfc.nasa.gov/planetary/factsheet/uranusfact.html

मैंने यह तरीका आजमाया है: मैंने यूरेनस को पेरीहेलियन में मैक्स के साथ रखा। कक्षीय वेग और मैं अर्ध-प्रमुख अक्ष की गणना करते हैं, और यह यूरेनस और नेपच्यून को उनके संबंधित मैक्स के साथ पेरिहेलियन में डालने से प्राप्त की तुलना में अधिक सटीक है। कक्षीय वेग।

यहाँ मतलब के साथ बनाई गई एक मस्त तस्वीर: यहाँ एक शांत तस्वीर

कोई भी मेरी मदद कर सकता हैं? मुझे अपनी भविष्यवाणी की तुलना करने के लिए मुझे क्या करना है और किस डेटा के साथ करना है यहां तक ​​कि एक साधारण लिंक भी मददगार हो सकता है।

जवाबों:


12

मैंने जो किया था यह रहा:

  • उनके द्रव्यमान के आधार पर, शुरू में बृहस्पति और शनि के साथ-साथ यूरेनस पर विचार करना सबसे सुरक्षित है। यह भी विश्लेषण में पृथ्वी को शामिल करने के लिए फलदायी हो सकता है, सापेक्ष स्थिति, अवलोकन कोण आदि प्राप्त करने के लिए, इसलिए, मैं विचार करूंगा:
    • रवि
    • पृथ्वी
    • बृहस्पति
    • शनि ग्रह
    • अरुण ग्रह
    • नेपच्यून
  • जाओ मानक गुरुत्वाकर्षण मापदंडों उन सभी के लिए (μ)
  • इन सभी ग्रहों के लिए JPL / HORIZONS के माध्यम से प्रारंभिक स्थिति और वेग प्राप्त करें । मेरे पास J2000.5 के आसपास कुछ डेटा पड़ा हुआ था, इसलिए मैंने 1 जनवरी, 2000 को दोपहर से ही राज्य के वैक्टर का इस्तेमाल किया।
  • अंतर्निहित MATLAB टूल के साथ एन-बॉडी इंटीग्रेटर लिखें। नेप्च्यून के बिना एक बार इस अपूर्ण सौर प्रणाली को एकीकृत करें, और एक बार नेपच्यून के साथ शामिल करें।
  • विश्लेषण करें और तुलना करें!

तो, यहां मेरा डेटा और एन-बॉडी इंटीग्रेटर है:

function [t, yout_noNeptune, yout_withNeptune] = discover_Neptune()

    % Time of integration (in years)
    tspan = [0 97] * 365.25 * 86400;

    % std. gravitational parameters [km/s²/kg]
    mus_noNeptune = [1.32712439940e11; % Sun
                     398600.4415       % Earth
                     1.26686534e8      % Jupiter
                     3.7931187e7       % Saturn
                     5.793939e6];      % Uranus

    mus_withNeptune = [mus_noNeptune
                       6.836529e6]; % Neptune

    % Initial positions [km] and velocities [km/s] on 2000/Jan/1, 00:00
    % These positions describe the barycenter of the associated system,
    % e.g., sJupiter equals the statevector of the Jovian system barycenter.
    % Coordinates are expressed in ICRF, Solar system barycenter
    sSun     = [0 0 0 0 0 0].';
    sEarth   = [-2.519628815461580E+07  1.449304809540383E+08 -6.175201582312584E+02,...
                -2.984033716426881E+01 -5.204660244783900E+00  6.043671763866776E-05].';
    sJupiter = [ 5.989286428194381E+08  4.390950273441353E+08 -1.523283183395675E+07,...
                -7.900977458946710E+00  1.116263478937066E+01  1.306377465321731E-01].';
    sSaturn  = [ 9.587405702749230E+08  9.825345942920649E+08 -5.522129405702555E+07,...
                -7.429660072417541E+00  6.738335806405299E+00  1.781138895399632E-01].';
    sUranus  = [ 2.158728913593440E+09 -2.054869688179662E+09 -3.562250313222718E+07,...
                 4.637622471852293E+00  4.627114800383241E+00 -4.290473194118749E-02].';
    sNeptune = [ 2.514787652167830E+09 -3.738894534538290E+09  1.904284739289832E+07,...
                 4.466005624145428E+00  3.075618250100339E+00 -1.666451179600835E-01].';

    y0_noNeptune   = [sSun; sEarth; sJupiter; sSaturn; sUranus];
    y0_withNeptune = [y0_noNeptune; sNeptune];

    % Integrate the partial Solar system 
    % once with Neptune, and once without
    options = odeset('AbsTol', 1e-8,...
                     'RelTol', 1e-10);

    [t, yout_noNeptune]   = ode113(@(t,y) odefcn(t,y,mus_noNeptune)  , tspan, y0_noNeptune  , options);
    [~, yout_withNeptune] = ode113(@(t,y) odefcn(t,y,mus_withNeptune),     t, y0_withNeptune, options);

end

% The differential equation 
%
%    dy/dt = d/dt [r₀ v₀ r₁ v₁ r₂ v₂ ... rₙ vₙ]    
%          = [v₀ a₀ v₁ a₁ v₂ a₂ ... vₙ aₙ]    
%
%  with 
%
%    aₓ = Σₘ -G·mₘ/|rₘ-rₓ|² · (rₘ-rₓ) / |rₘ-rₓ| 
%       = Σₘ -μₘ·(rₘ-rₓ)/|rₘ-rₓ|³  
%
function dydt = odefcn(~, y, mus)

    % Split up position and velocity
    rs = y([1:6:end; 2:6:end; 3:6:end]);
    vs = y([4:6:end; 5:6:end; 6:6:end]);

     % Number of celestial bodies
    N = size(rs,2);

    % Compute interplanetary distances to the power -3/2
    df  = bsxfun(@minus, permute(rs, [1 3 2]), rs);
    D32 = permute(sum(df.^2), [3 2 1]).^(-3/2);
    D32(1:N+1:end) = 0; % (remove infs)

    % Compute all accelerations     
    as = -bsxfun(@times, mus.', D32);              % (magnitudes)    
    as = bsxfun(@times, df, permute(as, [3 2 1])); % (directions)    
    as = reshape(sum(as,2), [],1);                 % (total)

    % Output derivatives of the state vectors
    dydt = y;
    dydt([1:6:end; 2:6:end; 3:6:end]) = vs;
    dydt([4:6:end; 5:6:end; 6:6:end]) = as;

end

यहाँ ड्राइवर स्क्रिप्ट है जिसका उपयोग मैंने कुछ अच्छे प्लॉट्स के लिए किया है:

clc
close all

% Get coordinates from N-body simulation
[t, yout_noNeptune, yout_withNeptune] = discover_Neptune();

% For plot titles etc.
bodies = {'Sun'
          'Earth'
          'Jupiter'
          'Saturn'
          'Uranus'
          'Neptune'};


% Extract positions
rs_noNeptune   = yout_noNeptune  (:, [1:6:end; 2:6:end; 3:6:end]);
rs_withNeptune = yout_withNeptune(:, [1:6:end; 2:6:end; 3:6:end]);



% Figure of the whole Solar sysetm, just to check
% whether everything went OK
figure, clf, hold on
for ii = 1:numel(bodies)
    plot3(rs_withNeptune(:,3*(ii-1)+1),...
          rs_withNeptune(:,3*(ii-1)+2),...
          rs_withNeptune(:,3*(ii-1)+3),...
          'color', rand(1,3));
end

axis equal
legend(bodies);
xlabel('X [km]');
ylabel('Y [km]');
title('Just the Solar system, nothing to see here');


% Compare positions of Uranus with and without Neptune
rs_Uranus_noNeptune   = rs_noNeptune  (:, 13:15);
rs_Uranus_withNeptune = rs_withNeptune(:, 13:15);

figure, clf, hold on

plot3(rs_Uranus_noNeptune(:,1),...
      rs_Uranus_noNeptune(:,2),...
      rs_Uranus_noNeptune(:,3),...
      'b.');

plot3(rs_Uranus_withNeptune(:,1),...
      rs_Uranus_withNeptune(:,2),...
      rs_Uranus_withNeptune(:,3),...
      'r.');

axis equal
xlabel('X [km]');
ylabel('Y [km]');
legend('Uranus, no Neptune',...
       'Uranus, with Neptune');


% Norm of the difference over time
figure, clf, hold on

rescaled_t = t/365.25/86400;

dx = sqrt(sum((rs_Uranus_noNeptune - rs_Uranus_withNeptune).^2,2));
plot(rescaled_t,dx);
xlabel('Time [years]');
ylabel('Absolute offset [km]');
title({'Euclidian distance between'
       'the two Uranuses'});


% Angles from Earth
figure, clf, hold on

rs_Earth_noNeptune   = rs_noNeptune  (:, 4:6);
rs_Earth_withNeptune = rs_withNeptune(:, 4:6);

v0 = rs_Uranus_noNeptune   - rs_Earth_noNeptune;
v1 = rs_Uranus_withNeptune - rs_Earth_withNeptune;

nv0 = sqrt(sum(v0.^2,2));
nv1 = sqrt(sum(v1.^2,2));

dPhi = 180/pi * 3600 * acos(min(1,max(0, sum(v0.*v1,2) ./ (nv0.*nv1) )));
plot(rescaled_t, dPhi);

xlabel('Time [years]');
ylabel('Separation [arcsec]')
title({'Angular separation between the two'
       'Uranuses when observed from Earth'});

जो मैं यहाँ चरण दर चरण बताता हूँ।

सबसे पहले, सौर मंडल का एक प्लॉट यह जांचने के लिए कि एन-बॉडी इंटीग्रेटर काम करता है:

सौरमंडल

अच्छा! अगला, मैं नेपच्यून के प्रभाव के साथ और बिना यूरेनस के पदों के बीच अंतर देखना चाहता था। इसलिए, मैंने केवल उन दो यूरेनस के पदों को निकाला, और उन्हें प्लॉट किया:

नेपच्यून के साथ और बिना दो यूरेन्यूज़

... यह शायद ही उपयोगी है। यहां तक ​​कि जब बहुत में जूमिंग और इसे से बाहर की ओर घूर्णन, यह सिर्फ एक उपयोगी साजिश नहीं है। इसलिए मैंने दो यूरेनस के बीच पूर्ण यूक्लिडियन दूरी के विकास को देखा:

दो यूरेनस के बीच यूक्लिडियन दूरी का समय विकास

यह अधिक लग रहा है! मोटे तौर पर हमारे विश्लेषण की शुरुआत के 80 साल बाद, दोनों यूरेनस लगभग 6 मिलियन किमी अलग हैं!

जब हम यहां पृथ्वी पर माप लेते हैं, तो बड़े पैमाने पर ध्वनि हो सकती है, चीजों के अनुदान पैमाने पर यह शोर में डूब सकता है। इसके अलावा, यह अभी भी पूरी कहानी नहीं बताता है, जैसा कि हम एक पल में देखेंगे। तो अगला, आइए पृथ्वी से दो यूरेनस की ओर अवलोकन वेक्टर्स के बीच कोणीय अंतर को देखें, यह देखने के लिए कि वह कोण कितना बड़ा है, और अगर यह अवलोकन संबंधी त्रुटि सीमा से ऊपर खड़ा हो सकता है:

दोनों यूरेनस के बीच कोणीय अलगाव

... रुकें! अच्छी तरह से 300 से अधिक धनुषाकार अंतर पर, प्लस सभी प्रकार के डगमगाने वाले बोबीले टाइममी विमी तरंग चल रहे हैं। यह समय की अवलोकन क्षमताओं के भीतर अच्छी तरह से लगता है (हालांकि मैं इस पर इतनी जल्दी कोई विश्वसनीय स्रोत नहीं ढूंढ सकता; कोई भी?)

सिर्फ अच्छे उपाय के लिए, मैंने बृहस्पति और शनि के चित्र से बाहर निकलकर उस अंतिम भूखंड का भी निर्माण किया। यद्यपि कुछ गड़बड़ी सिद्धांत 17 वीं और 18 वीं शताब्दी में विकसित किया गया था, यह बहुत अच्छी तरह से विकसित नहीं हुआ था और मुझे संदेह है कि ले वेरियर ने बृहस्पति को भी ध्यान में रखा (लेकिन फिर से, मैं गलत हो सकता हूं; कृपया मुझे सही करें यदि आप अधिक जानते हैं)।

तो, यहाँ बृहस्पति और शनि के बिना अंतिम भूखंड है:

दो यूरेनस के बीच कोणीय पृथक्करण, बृहस्पति और शनि को समीकरण से बाहर करता है

हालांकि मतभेद हैं, वे मिनट हैं, और नेप्च्यून की खोज के लिए सबसे महत्वपूर्ण अप्रासंगिक हैं।


शानदार जवाब!
zephyr

4

अगर मैं सही तरीके से समझूं, तो आप यूरेनस की कक्षा को एक दीर्घवृत्त के रूप में मॉडलिंग कर रहे हैं और इसकी तुलना नेपच्यून के अनुसार यूरेनस की वास्तविक कक्षा से करना चाहते हैं? मेरे पास कोई उत्तर नहीं है, लेकिन मैं ग्रहों / सितारों / चंद्रमाओं / आदि पदों को कहां से देख / पा सकता हूं? बताते हैं कि स्पाइस, होरिज़ोंस और अन्य उपकरणों का उपयोग कैसे किया जाता है, अब से एक निश्चित समय +१५००० वर्षों में यूरेनस की वास्तविक स्थिति का पता लगाने के लिए, जिसमें सबसे अच्छा फिट अण्डाकार पैरामीटर (होरिज़ोंस "कक्षीय तत्वों का उपयोग करके) शामिल हैं।

बेशक, आप जो कुछ भी करते हैं वह कुछ अर्थों में "परिपत्र" होगा, क्योंकि होराइजन्स ने अतीत में यूरेनस की गणना की स्थिति में पहले से ही नेप्च्यून के गड़बड़ी शामिल हैं।

यदि आप यूरेनस स्थिति की भविष्यवाणियां या अतीत से कुछ पा सकते हैं, तो आपके पास कुछ हो सकता है।

BTW, मुझसे संपर्क करने के लिए बेझिझक (विवरण के लिए प्रोफ़ाइल देखें) यदि यह परियोजना स्टैटेक्सचेंज प्रश्न से परे फैली हुई है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.