メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

gravitysphericalharmonic

惑星重力の球面調和関数表現を実装する

説明

デフォルトの惑星モデル

[gx gy gz] = gravitysphericalharmonic(planet_coordinates) は、惑星の重力ポテンシャルに基づいて、球面調和関数の惑星重力の数学的表現を実装します。この関数は、惑星の惑星中心惑星固定座標の x 軸、y 軸、および z 軸の N 重力値の配列を計算します。この関数は、惑星中心の惑星固定座標の M 行 3 列の配列である planet_coordinates を使用してこれらの計算を実行します。

[gx gy gz] = gravitysphericalharmonic(planet_coordinates,degree)degree が指定する次数と順序を使用します。

指定された惑星モデル

[gx gy gz] = gravitysphericalharmonic(planet_coordinates,model) は、惑星モデル model の数学的表現を実装します。

[gx gy gz] = gravitysphericalharmonic(planet_coordinates,model,degree)degree が指定する次数と順序を使用します。model は惑星モデルを指定します。

[gx gy gz] = gravitysphericalharmonic(planet_coordinates,model,degree,action) は、入力が範囲外の場合に指定された action を使用します。

カスタム惑星モデル

[gx gy gz] = gravitysphericalharmonic(planet_coordinates,'Custom',degree,{datafile dfreader},action) は、カスタム モデル惑星の数学的表現を実装します。datafile は、惑星モデルを定義します。dfreader は、datafile のリーダーを指定します。

すべて折りたたむ

地球の南極上空 25000 メートルにおける重力を計算します。この例では、エラー アクションを備えた EGM96 の 70 度モデルを使用します。

[gx, gy, gz] = gravitysphericalharmonic( [0 0 -6381.751e3], 'EGM96', 'Error' )
gx = 0
gy = 0
gz = 9.7552

警告アクションを備えた 120 次 EIGEN-GL04C 地球モデルを使用して、地球の南極上空 25,000 メートルの重力を計算します。

p  = [0 0 -6381.751e3]
p = 1×3

           0           0    -6381751

[gx, gy, gz] = gravitysphericalharmonic( p, 'EIGENGL04C', ...
120, 'Warning' )
gx = 0
gy = 0
gz = 9.7552

赤道上空 15000 メートルと北極上空 11000 メートルでの重力を計算します。

p  = [2412.648e3 -2412.648e3 0; 0 0 3397.2e3]
p = 2×3

     2412648    -2412648           0
           0           0     3397200

[gx, gy, gz] = gravitysphericalharmonic( p, 'GMM2B', 30, 'Warning' )
gx = 2×1

   -2.6085
         0

gy = 2×1

    2.6073
         0

gz = 2×1

    0.0000
   -3.6895

赤道上空 15000 メートルと北極上空 11000 メートルでの重力を計算します。

p       = [2412.648e3 -2412.648e3 0; 0 0 3397e3]
p = 2×3

     2412648    -2412648           0
           0           0     3397000

[gx, gy, gz] = gravitysphericalharmonic( p, 'custom', 60, ...
{'GMM2BC80_SHA.txt' @astReadSHAFile}, 'None' )
gx = 2×1

   -2.6079
         0

gy = 2×1

    2.6067
         0

gz = 2×1

    0.0002
   -3.6902

入力引数

すべて折りたたむ

惑星座標。惑星中心の惑星固定座標の M 行 3 列の配列としてメートル単位で指定されます。z 軸は北極に向かって正になります。model'EGM2008' または 'EGM96' (地球) の場合、惑星座標は ECEF 座標になります。

データ型: double

惑星モデル。次のいずれかの値として指定されます。

惑星モデル惑星
'EGM2008'

地球重力モデル 2008。惑星の座標はECEF(WGS84)です。

'EGM96'

地球重力モデル 1996年。惑星の座標はECEF(WGS84)です。

'LP100K'

100度月の模型。

'LP165P'

165度の月のモデル。

'GMM2B'

ゴダード火星モデル2B。

'Custom'

datafile で定義するカスタム惑星モデル。

メモ

カスタム惑星モデルを展開するには、コンパイル時にカスタム データとリーダー ファイルを MATLAB® Compiler™ (mcc) コマンドに明示的に含めます。次に例を示します。

mcc -m mycustomsphericalgravityfunction...
-a customDataFile -a customReaderFile

他の惑星モデルの場合は、通常どおり MATLAB Compiler を使用します。

詳細については、'Custom'を参照してください。

'EIGENGL04C'

複合地球重力場モデル EIGEN-GL04C。

大きな PCPF 配列と高次値を入力すると、メモリ不足エラーが発生する可能性があります。MATLAB 環境でメモリ不足エラーを回避する方法の詳細については、メモリ不足エラーの解決 を参照してください。

大規模な PCPF 配列を入力する場合、最大行列サイズの制限を受ける場合があります。ご使用のプラットフォームの MATLAB 環境で作成できる最大の行列または配列を確認するには、 パフォーマンスとメモリ を参照してください。

データ型: char | string

調和重力の次数と順序。スカラーとして指定されます。

惑星モデル程度と順序

'EGM2008'

最大次数と順序は 2159 です。

デフォルトの次数と順序は 120 です。

'EGM96'

最大次数と順序は360です。

デフォルトの次数と順序は 70 です。

'LP100K'

最大次数と最大順位は100です。

デフォルトの次数と順序は 60 です。

'LP165P'

最大次数と順序は 165 です。

デフォルトの次数と順序は 60 です。

'GMM2B'

最大次数と順位は80です。

デフォルトの次数と順序は 60 です。

'Custom'

最大次数はデフォルトの次数と順序です。詳細については、'Custom'を参照してください。

'EIGENGL04C'

最大次数と順序は360です。

デフォルトの次数と順序は 70 です。

大きな PCPF 配列と高次値を入力すると、メモリ不足エラーが発生する可能性があります。MATLAB 環境でメモリ不足エラーを回避する方法の詳細については、パフォーマンスとメモリ を参照してください。

大規模な PCPF 配列を入力する場合、最大行列サイズの制限を受ける場合があります。ご使用のプラットフォームの MATLAB 環境で作成できる最大の行列または配列を確認するには、 パフォーマンスとメモリ を参照してください。

データ型: char | string

'Custom' として指定されたカスタム惑星モデルの定義。定義データ ファイルと付属のリーダーを使用して惑星モデルの定義を指定します。詳細については、datafile dfreaderを参照してください。

データ型: char | string

ベクトルとして指定されたカスタム惑星モデル定義ファイルとリーダー。datafile にはこれらの変数が含まれている必要があります。

可変説明
Re

惑星の赤道半径のスカラー(メートル)

GM

惑星の重力パラメータのスカラー値(立方メートル毎秒平方メートル、m3/s2

degree

最大次数のスカラー

C

正規化された球面調和関数係数行列Cを含む(degree+1)行(degree+1)列の行列

S

正規化された球面調和関数係数行列Sを含む(degree+1)行(degree+1)列の行列

datafile を読み取るには、dfreader パラメータで MATLAB 関数を指定します。指定するリーダー ファイルは、datafile のファイル タイプによって異なります。

データファイルの種類説明

MATLAB ファイル

MATLAB load 関数を指定します (例: @load )。

その他のファイルタイプ

カスタム MATLAB リーダー関数を指定します。カスタム リーダー関数の例については、astReadSHAFile.m および astReadEGMFile.m を参照してください。これらのファイル内の出力変数の順序に注意してください。

例: {'GMM2BC80_SHA.txt' @astReadSHAFile}

データ型: double

範囲外の入力に対するアクション。次のように指定します。

  • 'Error' — 警告を表示し、入力が範囲外であることを示します。

  • 'Warning' — エラーを表示し、入力が範囲外であることを示します。

  • 'None' — 警告やエラーは表示されません。

データ型: char | string

出力引数

すべて折りたたむ

惑星中心の惑星固定座標の x 軸の重力値。メートル毎秒の二乗 (m/s2) 単位の M 重力値の配列として返されます。

惑星中心の惑星固定座標の y 軸の重力値。メートル毎秒の二乗 (m/s2) 単位の M 重力値の配列として返されます。

惑星中心の惑星固定座標の z 軸の重力値。メートル毎秒の二乗 (m/s2) 単位の M 重力値の配列として返されます。

制限

  • この関数は、惑星の回転による遠心力の影響と歳差運動の参照フレームの影響を排除します。

  • 球面調和重力モデルは、惑星の赤道半径よりも大きい半径位置に有効です。惑星表面付近または表面上の半径位置では、小さな誤差が生じる可能性があります。球面調和重力モデルは、惑星の表面より小さい半径位置では有効ではありません。

ヒント

  • 大きな PCPF 配列と高次値を入力すると、メモリ不足エラーが発生する可能性があります。MATLAB 環境でメモリ不足エラーを回避する方法の詳細については、パフォーマンスとメモリ を参照してください。

  • 大規模な PCPF 配列を入力する場合、最大行列サイズの制限を受ける場合があります。ご使用のプラットフォームの MATLAB 環境で作成できる最大の行列または配列を確認するには、 パフォーマンスとメモリ を参照してください。

参照

[1] ] Gottlieb, R. G. "Fast Gravity, Gravity Partials, Normalized Gravity, Gravity Gradient Torque and Magnetic Field: Derivation, Code and Data." Technical Report NASA Contractor Report 188243. Houston: NASA Lyndon B. Johnson Space Center, February 1993.

[2] Vallado, David A. Fundamentals of Astrodynamics and Applications. New York: McGraw-Hill, 1997.

[3] Defense Mapping Agency. Department of Defense World Geodetic System 1984, Its Definition and Relationship with Local Geodetic Systems. TR 8350.2, 2nd ed. Fairfax, VA: DMA, September 1, 1991.

[4] Konopliv, A. S., S. W. Asmar, E. Carranza, W. L. Sjogen, and D. N. Yuan. "Recent Gravity Models as a Result of the Lunar Prospector Mission, Icarus" 150, no. 1 (2001): 1–18.

[5] Lemoine, F. G., D. E. Smith, D. D. Rowlands, M. T. Zuber, G. A. Neumann, and D. S. Chinn. "An Improved Solution of the Gravity Field of Mars (GMM-2B) from Mars Global Surveyor." Journal of Geophysical Research 106, no. E10 (October 25, 2001): 23359–23376.

[6] Kenyon S., J. Factor, N. Pavlis, and S. Holmes. "Towards the Next Earth Gravitational Model." Paper presented at the Society of Exploration Geophysicists 77th Annual Meeting, San Antonio, Texas, September 23–28, 2007.

[7] Pavlis, N.K., S. A. Holmes, S. C. Kenyon, and J. K. Factor. "An Earth Gravitational Model to Degree 2160: EGM2008." Paper presented at the General Assembly of the European Geosciences Union, Vienna, Austria, April 13–18, 2008.

[8] Grueber, T., and A. Köhl. "Validation of the EGM2008 Gravity Field with GPS-Leveling and Oceanographic Analyses." Paper presented at the IAG International Symposium on Gravity, Geoid & Earth Observation, Chania, Greece, June 23–27, 2008.

[9] Förste, C., Flechtner et al, "A Mean Global Gravity Field Model From the Combination of Satellite Mission and Altimetry/Gravmetry Surface Data - EIGEN-GL04C." Geophysical Research Abstracts 8, 03462, 2006.

[10] Hill, K. A. "Autonomous Navigation in Libration Point Orbits." PhD diss. University of Colorado, Boulder, 2007.

[11] Colombo, Oscar L. Numerical Methods for Harmonic Analysis on the Sphere. Report no. 310. Columbus: Department of Geodetic Science at Ohio State University, 1981.

[12] Colombo, Oscar L. "The Global Mapping of Gravity with Two Satellites." Netherlands Geodetic Commission 7, no 3, Delft, The Netherlands, 1984., Reports of the Department of Geodetic Science. Report No. 310. Columbus: Ohio State University, March 1981.

[13] Jones, Brandon A. "Efficient Models for the Evaluation and Estimation of the Gravity Field." PhD diss. University of Colorado, Boulder, 2010.

[14] Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: 1991.

バージョン履歴

R2010a で導入