gravitysphericalharmonic

Реализуйте сферическое гармоническое представление планетарной гравитации

Синтаксис

[gx gy gz] = gravitysphericalharmonic(planet_coordinates)
[gx gy gz] = gravitysphericalharmonic(planet_coordinates, model)
[gx gy gz] = gravitysphericalharmonic(planet_coordinates, degree)
[gx gy gz] = gravitysphericalharmonic(planet_coordinates, model, degree)
[gx gy gz] = gravitysphericalharmonic(planet_coordinates, model, degree, action)
[gx gy gz] = gravitysphericalharmonic(planet_coordinates, 'Custom', degree, {datafile dfreader}, action)

Описание

[gx gy gz] = gravitysphericalharmonic(planet_coordinates) реализует математическое представление сферической гармонической планетной гравитации на основе планетарного гравитационного потенциала. Эта функция вычисляет массивы N значения гравитации по оси X, оси Y и оси Z Планета-Центрированная Планета-Фиксированная координаты для планеты. Он выполняет эти вычисления, используя planet_coordinates, an M-by-3 массив Планета-Центрированная Планета-Фиксированная Координата. По умолчанию эта функция принимает 120-ю степень и сферические коэффициенты порядка для 'EGM2008' (Земля) планетарная модель.

[gx gy gz] = gravitysphericalharmonic(planet_coordinates, model) реализует математическое представление для планетарной модели, model.

[gx gy gz] = gravitysphericalharmonic(planet_coordinates, degree) использует степень и порядок, которые degree задает.

[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.

Эта функция имеет следующие ограничения:

  • Функция исключает центробежные эффекты вращения планеты и эффекты предшествующей системы координат.

  • Сферическая гармоническая гравитационная модель действительна для радиальных положений, больших, чем экваториальный радиус планеты. Несущественные ошибки могут возникнуть для радиальных положений около или на планетной поверхности. Сферическая гармоническая гравитационная модель не действительна для радиальных положений, меньших, чем планетарная поверхность.

Входные параметры

planet_coordinates

M-by-3 массив Планета-Центрированная Планета-Фиксированные координаты в метрах. Ось Z положительная к Северному полюсу. Если model является 'EGM2008' или 'EGM96' (Земля), координаты планеты являются координатами ECEF.

model

Планетарная модель. По умолчанию это 'EGM2008'. Укажите один:

Планетарная модельПланета
'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 как обычно.

'EIGENGL04C'

Комбинированное гравитационное поле Земли моделирует EIGEN-GL04C.

При вводе большого массива PCPF и высокого значения степени, вы можете получить ошибку нехватки памяти. Для получения дополнительной информации об избежании ошибок нехватки памяти в среде MATLAB, смотрите Разрешение ошибок «Нехватка памяти».

При вводе большого массива PCPF вы можете получить ограничение на максимальный размер матрицы. Чтобы определить самую большую матрицу или массив, которые вы можете создать в среде MATLAB для вашей платформы, смотрите Производительность и Память.

degree

Скалярное значение, которое задает степень и порядок гармонической гравитационной модели.

Планетарная модельСтепень и порядок

'EGM2008'

Максимальная степень и порядок 2159.

Степень и порядок по умолчанию 120.

'EGM96'

Максимальная степень и порядок 360.

Степень и порядок по умолчанию 70.

'LP100K'

Максимальная степень и порядок 100.

Степень и порядок по умолчанию 60.

'LP165P'

Максимальная степень и порядок 165.

Степень и порядок по умолчанию 60.

'GMM2B'

Максимальная степень и порядок 80.

Степень и порядок по умолчанию 60.

'Custom'

Максимальная степень является степенью и порядком по умолчанию.

'EIGENGL04C'

Максимальная степень и порядок 360.

Степень и порядок по умолчанию 70.

При вводе большого массива PCPF и высокого значения степени, вы можете получить ошибку нехватки памяти. Для получения дополнительной информации об избежании ошибок нехватки памяти в среде MATLAB, смотрите Производительность и Память.

При вводе большого массива PCPF вы можете получить ограничение на максимальный размер матрицы. Чтобы определить самую большую матрицу или массив, которые вы можете создать в среде MATLAB для вашей платформы, смотрите Производительность и Память.

action

Действие для входа вне области допустимого. Укажите один:

'Error'
'Warning' (по умолчанию)
'None'

'Custom'

Вектор символов или строка, которая задает, что datafile содержит определения для пользовательской планетарной модели.

datafile

Файл, который содержит определения для пользовательской планетарной модели. Пример содержимого файла см. в разделе aerogmm2b.mat.

Этот файл должен содержать следующие переменные.

ПеременнаяОписание
Re

Скаляр экваториального радиуса планеты в метрах (м)

GM

Скаляр планетарного гравитационного параметра в метрах, кубических в секунду в квадрате (m3/ с2)

degree

Скаляр максимальной степени

C

(degree + 1) -by- (degree + 1) матрица, содержащая нормализованные сферические гармонические коэффициенты матрица, C

S

(degree + 1) -by- (degree + 1) матрица, содержащая нормализованные сферические гармонические коэффициенты матрица, S

Этот параметр требует, чтобы вы задали программу в dfreader параметр для чтения файла данных.

dfreader

Задайте функцию MATLAB, чтобы считать datafile. Заданный файл Reader зависит от типа файла datafile.

Тип файла данныхОписание

Файл MATLAB

Задайте MATLAB load функция, для примера, @load.

Другой тип файла

Задайте пользовательскую функцию MATLAB reader. Для примеров пользовательских функций Reader, смотрите astReadSHAFile.m и astReadEGMFile.m. Обратите внимание на выход, переменный порядок в этих файлах.

Выходные аргументы

gx

Массив N значения гравитации в оси X Планета-Центрированная Планета-Фиксированные координаты в метрах в секунду в квадрате (м/с2).

gy

Массив N значения гравитации по оси Y Планета-Центрированная Планета-Фиксированные координаты в метрах в секунду в квадрате (м/с2).

gz

Массив N значения гравитации по оси Z Планета-Центрированная Планета-Фиксированные координаты в метрах в секунду в квадрате (м/с2).

Примеры

Вычислите силу тяжести по оси X у экватора на поверхности Земли. Этот пример использует модель 120 степени по умолчанию EGM2008 с предупреждающими действиями по умолчанию:

gx = gravitysphericalharmonic( [-6378.1363e3 0 0] )

Вычислите силу тяжести на 25000 м над южным полюсом Земли. Этот пример использует модель EGM96 70 степеней с действиями ошибки:

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

Вычислите силу тяжести на 15000 м над экватором и 11000 м над северным полюсом. Этот пример использует модель Марса GMM2B 30-го порядка с предупреждающими действиями:

p  = [2412.648e3 -2412.648e3 0; 0 0 3397.2e3]
[gx, gy, gz] = gravitysphericalharmonic( p, 'GMM2B', 30, 'Warning' )

Вычислите силу тяжести на 15000 м над экватором и 11000 м над северным полюсом. Этот пример использует пользовательскую планетарную модель 60-й степени без действий:

p       = [2412.648e3 -2412.648e3 0; 0 0 3397e3]
[gx, gy, gz] = gravitysphericalharmonic( p, 'custom', 60, ...
{'GMM2BC80_SHA.txt' @astReadSHAFile}, 'None' )

Вычислите силу тяжести в 25000 метров над южным полюсом Земли с помощью модели EIGEN-GL04C Земли 120-го порядка с предупреждающими действиями:

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

Совет

  • При вводе большого массива PCPF и высокого значения степени, вы можете получить ошибку нехватки памяти. Для получения дополнительной информации об избежании ошибок нехватки памяти в среде MATLAB, смотрите Производительность и Память.

  • При вводе большого массива PCPF вы можете получить ограничение на максимальный размер матрицы. Чтобы определить самую большую матрицу или массив, которые вы можете создать в среде MATLAB для вашей платформы, смотрите Производительность и Память.

Ссылки

[1] Gottlieb, R. G., «Fast Gravity, Gravity Partials, Normalized Gravity, Gradient Torque and Magnetic Field: Derivation, Code and Data», Технический отчет НАСА.

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

[3] «NIMA TR8350.2: Department of Defense World Geodetic System 1984, Its Definition and Related With Local Geodetic Systems».

[4] Konopliv, A. S., S. W. Asmar, E. Carranza, W. L. Sjogen, D. N. Yuan., «Недавние гравитационные модели в результате миссии лунного изыскателя, Icarus», Vol. 150, no. 1,

[5] Lemoine, F. G., D. E. Smith, D.D. Роулендс, М. Т. Цубер, Г. А. Нойман, и Д. С. Чинн, «Улучшенное решение гравитационного поля Марса (GMM-2B) от Mars Global Surveyor», Journal Of Geophysical Research, Vol. 106, No. E10, стр. 23359-23376, 25 октября 2001 года.

[6] Kenyon S., J. Factor, N. Pavlis, and S. Holms, «К следующей гравитационной модели Земли», Общество геофизиков-разведчиков, 77-е ежегодное собрание, Сан-Антонио, Техас, 23-28 сентября 2007 года.

[7] Павлис, Н.К., С.А. Холмс, Ю.К. Кенион и Дж. К. Фактор, «Гравитационная модель Земли до степени 2160: EGM2008,», представленная на Генеральной ассамблее Европейского объединения геологов 2008 года, Вена, Австрия, 13-18 апреля 2008 года.

[8] Grueber, T. and A. Köhl, «Валидация EGM2008 гравитационного поля с GPS-выравниванием и океанографическим анализом», представленный на Международном симпозиуме IAG по гравитации, геоидам и 2008 наблюдения Земли, Ханья, Греция, июнь 23-27, 2008 года.

[9] Förste, C., Flechtner, F., Шмидт, R., Кёниг, R., Мейер, U., Stubenvoll, R., Rothacher, M., Barthelmes, F., Neumayer, H., Biancale, R., Bruinsma, S., Lemoine, J.M., Loyer, S., «Средняя Глобальная Модель Области Силы тяжести От Комбинации Спутниковых Данных Поверхности Миссии и Altimetry/Gravmetry - EIGEN-GL04C», Геофизические Резюме Исследования, Издание 8, 03462, 2006.

[10] Хилл, К. А. (2007). Автономная навигация на орбитах точек библиотеки. Докторская диссертация, Университет Колорадо, Боулдер.

[11] Colombo, Oscar L., «Numerical Methods for Harmonic Analysis on the Sphere», Отчеты кафедры геодезических наук, Report No. 310, The Ohio State University, Columbus, OH., March 1981.

[12] Colombo, Oscar L., «The Global Mapping of Gravity with Two Satellites», Nederlands Geodetic Commission, vol. 7 No. 3, Delft, The Nederlands, 1984., Reports of of Geodetical Science, Reience no. 310, the.

[13] Jones, Brandon A. (2010). Эффективные модели для оценки и оценки гравитационного поля. Докторская диссертация, Университет Колорадо, Боулдер.

Введенный в R2010a