Это команда greensplinegmt, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
greenspline - интерполировать с использованием функций Грина для сплайнов в 1-3 измерениях
СИНТАКСИС
зелень [ (см. таблицу ниже) ] [[1|2|3|4|5,]градфайл ] [[n|v]вырезать[/файл]] [ Режим ] [ Grdfile ] [
ксинк[/инь[/цинк]]] [] [ файл узла ] [ az|х / у / г ] [ запад/восток/ /к северу[/zмин/zмакс][r]
] [ с | т | л | г | р | д[Парс]] [ маска ] [[уровень]] [] [ -b] [ -d] [
-f] [ -h] [ -o] [ -x[[-]n]] [ -:[i|o]]
Примечание: Пробелы между флагом опции и соответствующими аргументами не допускаются.
ОПИСАНИЕ
зелень использует функцию Грина G (x; x') для выбранного сплайна и геометрии в
интерполировать данные в обычных [или произвольных] местах вывода. Математически решение
состоит как w(x) = сумма {c(i) ГРАММ(x'; x(i))}, для i = 1, n, количество точек данных
{x(i), w(i)}. Однажды n коэффициенты c(i) найдена сумма может быть оценена в любом
точка вывода x. Выберите между минимальной кривизной, регуляризованной или непрерывной кривизной
шлицы в растяжении для 1-D, 2-D или 3-D декартовых координат или сферической поверхности
координаты. После первого удаления линейного или плоского тренда (декартова геометрия) или среднего
значение (сферическая поверхность) и нормализуя эти остатки, матрица наименьших квадратов
решение для коэффициентов сплайна c(i) находится путем решения n by n линейная система
w(j) = сумма над-i {c(i) ГРАММ(x(j); x(i))}, для j = 1, n; это решение дает точный
интерполяция предоставленных точек данных. В качестве альтернативы вы можете выполнить
сингулярное разложение (SVD) и исключить вклад от наименьшего
собственные значения; этот подход дает приближенное решение. Тенденции и масштабы восстанавливаются
при оценке вывода.
ТРЕБУЕТСЯ АРГУМЕНТЫ
Нет.
ДОПОЛНИТЕЛЬНО АРГУМЕНТЫ
(см. таблицу ниже) Имя одного или нескольких ASCII [или двоичных файлов, см. -би] файлы, содержащие x, w данным
точки. Если файл не указан, вместо этого мы читаем стандартный ввод.
-A[1|2|3|4|5,]градфайл
Решение будет частично ограничено поверхностными градиентами. v = v*n, Где v is
величина градиента и n направление его единичного вектора. Направление градиента может
задаваться либо декартовыми компонентами (либо единичным вектором n и величина v
отдельно или градиентные компоненты v непосредственно) или углы относительно осей координат.
Укажите один из пяти форматов ввода: 0: Для одномерных данных нет направления, просто
величина градиента (наклон), поэтому формат ввода x, градиент. Варианты 1-2 предназначены для
Двухмерные наборы данных: 1: записи содержат x, y, азимут, градиент (азимут в градусах
измеряется по часовой стрелке от вертикали (север) [по умолчанию]). 2: записи содержат x, y,
градиент, азимут (азимут в градусах измеряется по часовой стрелке от вертикали
(север)). Варианты 3-5 предназначены для двух- или трехмерных данных: 3: записи содержат x,
направление (а), v (направление (а) в градусах измеряются против часовой стрелки от
горизонтальный (а для трехмерного - вертикальная ось). 4: записи содержат x, v. 5: записи
содержать x, n, v. Добавить имя файла ASCII с градиентами поверхности (после
запятая, если формат указан).
-C [n | v]вырезать[/файл]
Найдите приблизительную подгонку поверхности: решите линейную систему для сплайна
коэффициентов по SVD и исключить вклад от всех собственных значений, отношение которых
до наибольшего собственного значения меньше, чем вырезать [По умолчанию используется исключение Гаусса-Джордана
решить линейную систему и точно подогнать данные]. При желании добавьте /файл в
сохранить отношения собственных значений в указанный файл для дальнейшего анализа. Наконец, если
отрицательный вырезать дается тогда /файл требуется, и выполнение остановится после сохранения
собственные значения, т. е. выход поверхности не производится. Указать -Резюме использовать
наибольшие собственные значения, необходимые для объяснения вырезать % дисперсии данных. В качестве альтернативы,
использование -сп для выбора вырезать наибольшие собственные значения. Если файл дается с -Резюме тогда мы
сохраните собственные значения вместо отношений.
-DРежим Устанавливает флаг расстояния, который определяет, как мы вычисляем расстояния между данными.
точки. Выбирать Режим 0 для декартовой интерполяции одномерного сплайна: -D0 означает (x) в пользователе
единиц, Декартовы расстояния, Выбрать Режим 1-3 для декартова двумерного поверхностного сплайна
интерполяция: -D1 означает (x,y) в пользовательских единицах, декартовых расстояниях, -D2 для (x,y) в
градусы, расстояния до плоской Земли и -D3 для (x,y) в градусах, Сферические расстояния в
км. Затем, если PROJ_ELLIPSOID сферический, мы вычисляем дуги большого круга, в противном случае
геодезические. Вариант Режим = 4 применяется только к интерполяции сплайнами сферической поверхности:
-D4 для (x,y) в градусах используйте косинус дуг большого круга (или геодезических). Выбирать
Режим 5 для декартовой трехмерной поверхностной сплайновой интерполяции: -D5 означает (x,y,z) в пользователе
единиц, декартовых расстояний.
-GGrdfile
Имя результирующего выходного файла. (1) Если варианты -R, -IИ, возможно, -r установлены мы
создать эквидистантную выходную таблицу. Это будет записано в стандартный вывод, если -G is
указано. Примечание: для двумерных сеток -G опция обязательна. (2) Если вариант -T is
выбрал тогда -G является обязательным, а выходной файл представляет собой файл двухмерной двоичной сетки. Применяется
только для двумерной интерполяции. (2) Если -N выбрано, то вывод будет в формате ASCII (или
двоичный; видеть бо) стол; если -G не приводится, то эта таблица записывается в стандартную
выход. Игнорируется, если -C or -C0 дано.
-Iксинк[/инь[/цинк]]
Задайте равноудаленные интервалы выборки для каждого измерения, разделенные знаком
косые черты.
-L Do удалить линейный (1-D) или строгальный (2-D) тренд, когда -D выбирает режим 0-3 [Для
В этих декартовых случаях линия или плоскость наименьших квадратов моделируется и удаляется, затем
восстановлен после подгонки шлица по невязкам]. Однако в смешанных случаях с
как значения данных, так и градиенты, или для данных сферической поверхности только средние данные
значение удаляется (а позже и восстанавливается).
-Nфайл узла
Файл ASCII с координатами желаемых выходных местоположений x в первом столбце (ах).
Полученный w значения добавляются к каждой записи и записываются в файл, указанный в
-G [или стандартный вывод, если не указан]; видеть бо вместо этого для двоичного вывода. Этот вариант
избавляет от необходимости указывать параметры -R, -Iи -r.
-Qaz|х / у / г
Вместо того, чтобы оценивать поверхность, возьмите производную по направлению в az азимут
и вместо этого верните величину этой производной. Для трехмерной интерполяции укажите
три компонента желаемого направления вектора (вектор будет нормализован
перед использованием).
-Rхмин/Xmax[/юмин/умакс[/zminzmax]]
Укажите домен для эквидистантной решетки, в которой прогнозируются выходные данные.
требуется. Требует -I и необязательно -r.
1D: Дайте xmin / xmax, минимум и максимум x координаты.
2D: Дайте xmin / xmax / ymin / ymax, минимум и максимум x и y координаты. Эти
может быть декартовым или географическим. Если географический, то запад, восток, и
к северу укажите интересующий регион, и вы можете указать их в десятичных градусах
или в формате [+ -] dd: mm [: ss.xxx] [W | E | S | N]. Два сокращения -Рг и -Рд стоять за
глобальный домен (0/360 и -180 / + 180 по долготе соответственно, с -90 / + 90 в
широта).
3D: Дайте xmin / xmax / ymin / ymax / zmin / zmax, минимум и максимум x, y и z
координаты. См. Раздел 2-D, если ваши горизонтальные координаты географические;
обратите внимание на сокращения -Рг и -Рд не может использоваться, если указан трехмерный домен.
-Sc | t | l | r | p | q [Парс]
Выберите один из шести разных шлицев. Первые два используются для 1-D, 2-D или 3-D
Декартовы шлицы (см. -D для обсуждения). Обратите внимание, что все значения натяжения
ожидается нормализованное напряжение в диапазоне 0 t <1: (c) Минимальная кривизна
сплайн [Сандвелл, 1987], (t) Шпонка непрерывной кривизны при растяжении [Вессель и
Берковичи, 1998]; добавить напряжение[/лестница] с участием напряжение в диапазоне 0-1 и
дополнительно укажите масштаб длины [по умолчанию - средний шаг сетки]. Следующее
1-мерный или 2-мерный шлиц: (l) Линейный (1-D) или билинейный (2-D) шлиц; эти производят
вывод, не выходящий за рамки заданных данных. Следующий - 2-D или 3-D.
сплайн: (r) Регулируемый шлиц на растяжение [Митасова и Митас, 1993]; снова добавить
напряжение и необязательный лестница. Последние два - это шлицы сферической поверхности, и оба
подразумевать -D4: (p) Сплайн минимальной кривизны [Паркер, 1994], (q) Непрерывная кривизна
шлиц в растяжении [Вессель и Беккер, 2008]; добавить напряжение. G (x'; x') для
последний метод вычисляется медленнее (серийное решение), поэтому мы предварительно вычисляем значения и
вместо этого используйте поиск интерполяции кубическим сплайном. При желании добавить +nN (странный
целое число), чтобы изменить количество точек для использования в настройке сплайна [10001]. Конечная
Сумма Лежандра имеет ошибку усечения [1e-6]; вы можете уменьшить это, добавив +eпредел
за счет более длительного времени работы.
-Tмаска
Только для двухмерной интерполяции. Оценивайте решение только в узлах в маска
которые не равны NaN. Эта опция избавляет от необходимости указывать опции -R,
-Iи -r.
-V [уровень] (Больше ...)
Выберите уровень детализации [c].
-W Ожидайте веса данных в последнем входном столбце, как правило, как weight = 1 /
сигма, неопределенность данных. Это приводит к подгонке методом взвешенных наименьших квадратов. Примечание
что это имеет эффект, только если -CC используется.
-bi [нколс] [т] (Больше ...)
Выберите собственный двоичный вход. [По умолчанию 2–4 входных столбца (x,w); количество зависит
по выбранному измерению].
-bo [нколс][напишите] (Больше ...)
Выберите собственный двоичный вывод.
-d [i | o]нет данных (Больше ...)
Заменить входные столбцы, равные нет данных с NaN и сделаем обратное при выводе.
-f [i | o]Colinfo (Больше ...)
Укажите типы данных входных и / или выходных столбцов.
-h [i | o] [n] [+ c] [+ d] [+ rзамечание] [+ rназвание] (Больше ...)
Пропустить или создать запись (и) заголовка.
-iсмещ_по_столбцам[l] [sлестница] [oсмещение] [,...] (Больше ...)
Выберите столбцы ввода (0 - первый столбец).
-oсмещ_по_столбцам[, ...] (Больше ...)
Выберите выходные столбцы (0 - первый столбец).
-r (Больше ...)
Установите регистрацию узла пикселя [линия сетки].
-Икс[[-]n] (Больше ...)
Ограничьте количество ядер, используемых в многопоточных алгоритмах (требуется OpenMP).
-^ or всего -
Распечатайте короткое сообщение о синтаксисе команды, затем закройте (ПРИМЕЧАНИЕ: в Windows
использовать просто -).
-+ or всего +
Распечатайте подробное сообщение об использовании (справке), включая объяснение любых
параметр, зависящий от модуля (но не общие параметры GMT), затем закрывается.
-? or нет Аргументы
Распечатайте полное сообщение об использовании (справке), включая объяснение опций, затем
выходы.
--версия
Распечатайте версию GMT и выйдите.
--show-datadir
Вывести полный путь к общему каталогу GMT и выйти.
1-D ПРИМЕРЫ
Чтобы передискретить x,y Гауссовские случайные данные, созданные гмтматематика и хранится в 1D.txt,
запрашивая вывод каждые 0.1 шага от 0 до 10 и используя минимальный кубический сплайн, попробуйте
gmt math -T0 / 10/1 0 1 NRAND = 1D.txt
gmt psxy -R0 / 10 / -5 / 5 -JX6i / 3i -B2f1 / 1 -Sc0.1 -Gblack 1D.txt -K> 1D.ps
gmt greenspline 1D.txt -R0 / 10 -I0.1 -Sc -V | psxy -R -J -O -Wthin >> 1D.ps
Чтобы вместо этого применить шпонку натяжения, используя натяжение 0.7, попробуйте
gmt psxy -R0 / 10 / -5 / 5 -JX6i / 3i -B2f1 / 1 -Sc0.1 -Gblack 1D.txt -K> 1Dt.ps
gmt greenspline 1D.txt -R0 / 10 -I0.1 -St0.7 -V | psxy -R -J -O -Wthin >> 1Dt.ps
2-D ПРИМЕРЫ
Чтобы сделать однородную сетку с использованием сплайна минимальной кривизны для того же набора декартовых данных
из Дэвиса (1986), который используется в примере 16 Технического справочника и поваренной книги GMT, попробуйте
gmt greenspline таблица_5.11 -R0 / 6.5 / -0.2 / 6.5 -I0.1 -Sc -V -D1 -GS1987.nc
gmt psxy -R0 / 6.5 / -0.2 / 6.5 -JX6i -B2f1 -Sc0.1 -Gblack table_5.11 -K> 2D.ps
gmt grdcontour -JX6i -B2f1 -O -C25 -A50 S1987.nc >> 2D.ps
Чтобы использовать декартовы сплайны в растяжении, но оценивать только решение, в котором маска ввода
сетка не NaN, попробуйте
gmt greenspline table_5.11 -Tmask.nc -St0.5 -V -D1 -GWB1998.nc
Чтобы использовать декартовы обобщенные шлицы при растяжении и вернуть величину поверхности
уклон в северо-западном направлении, попробуйте
gmt greenspline таблица_5.11 -R0 / 6.5 / -0.2 / 6.5 -I0.1 -Sr0.95 -V -D1 -Q-45 -Gslopes.nc
Наконец, чтобы использовать декартовы сплайны минимальной кривизны при восстановлении поверхности, на которой
входные данные - это одно значение поверхности (pt.d), а остальные ограничения определяют только
уклон и направление поверхности (slopes.d), используйте
gmt greenspline pt.d -R-3.2 / 3.2 / -3.2 / 3.2 -I0.1 -Sc -V -D1 -A1, slopes.d -Gslopes.nc
3-D ПРИМЕРЫ
Чтобы создать единообразную трехмерную декартовую сеточную таблицу на основе данных table_3 в Дэвисе
(1986), который содержит x,y,z местоположения и меры концентраций оксида урана (в
процентов), попробуйте
gmt greenspline таблица_5.23 -R5 / 40 / -5 / 10/5/16 -I0.25 -Sr0.85 -V -D5 -G3D_UO2.txt
2-D СФЕРИЧЕСКИЙ ПОВЕРХНОСТЬ ПРИМЕРЫ
Чтобы воссоздать пример Паркера [1994] на глобальной сетке 1x1 градус, предполагая, что данные находятся в
файл mag_obs_1990.d, попробуйте
greenspline -V -Rg -Sp -D3 -I1 -GP1994.nc mag_obs_1990.d
Чтобы выполнить ту же задачу, но с усилием 0.85, используйте
зеленый сплайн -V -Rg -Sq0.85 -D3 -I1 -GWB2008.nc mag_obs_1990.d
ОТХОДОВ
1. Для декартовых случаев мы используем функции Грина в свободном пространстве, поэтому границы отсутствуют.
условия применяются на краях указанного домена. Для большинства приложений
это нормально, поскольку регион обычно задается произвольно, чтобы отразить степень вашего
данные. Однако, если вашему приложению требуются определенные граничные условия, вы можете
рассмотреть возможность использования поверхность .
2. Во всех случаях решение получается обращением n x n матрица двойной точности для
коэффициенты функции Грина, где n - количество ограничений данных. Следовательно, ваш
память компьютера может накладывать ограничения на то, насколько большие наборы данных вы можете обрабатывать с
зелень . Предварительная обработка ваших данных с помощью Blockmean
, блокмедиан эта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. блочный режим is
рекомендуется избегать наложения спектров, а также может контролировать размер n. Для информации, если n
= 1024, то требуется только 8 Мб памяти, но для n = 10240 нам нужно 800 Мб. Обратите внимание, что
зелень полностью совместим с 64-разрядной версией, если скомпилирован как таковой. Для
сферические данные, которые вы можете рассмотреть для уничтожения, используя gmtspatial ближайший
сокращение соседа.
3. Инверсия коэффициентов может стать численно нестабильной, когда соседние данные
очень близко по сравнению с общим объемом данных. Вы можете исправить это
предварительная обработка данных, например, путем усреднения близко расположенных соседей. В качестве альтернативы,
вы можете повысить стабильность, используя решение SVD и отказавшись от связанной с ним информации.
с наименьшими собственными значениями (см. -C).
4. Реализовано серийное решение для -Кв. был разработан Робертом Л. Паркером, Скриппсом
Институт океанографии, которому мы выражаем признательность.
5. Если вам нужно разместить определенный одномерный сплайн через ваши точки данных, вы можете захотеть
считать образец1d вместо. Он предложит традиционные шлицы с
стандартные граничные условия (например, естественный кубический сплайн, который задает
искривления на концах до нуля). В отличие от этого, одномерный сплайн greenspline, как есть
объяснено в примечании 1, не указать граничные условия в конце данных
домена.
Натяжение
Натяжение обычно используется для подавления паразитных колебаний, вызванных минимальным
требование кривизны, в частности, когда в данных присутствуют быстрые изменения градиента.
Подходящую величину натяжения можно определить только экспериментально. Вообще очень
сглаженные данные (например, потенциальные поля) не требуют большого напряжения, если оно вообще есть, в то время как более грубые
данные (например, топография) обычно лучше интерполируются при умеренном натяжении. Делать
Убедитесь, что вы попробуете диапазон значений, прежде чем выбрать окончательный результат. Примечание: регуляризованный
шпонка на растяжение стабильна только для конечного диапазона лестница ценности; ты должен поэкспериментировать
чтобы найти допустимый диапазон и полезную настройку. Для получения дополнительной информации о натяжении см.
ссылки ниже.
Ссылки
Дэвис, JC, 1986, Показатели и Данные Анализ in Геология, 2-е издание, 646 стр., Wiley,
Нью-Йорк,
Митасова Х., Митас Л., 1993, Интерполяция регуляризованным сплайном с натяжением: I.
Теория и реализация, Математика Геол., 25, 641-655.
Паркер, Р.Л., 1994 г., геофизический обратный теория, 386 с., Princeton Univ. Нажмите,
Принстон, Нью-Джерси
Сандвелл, Д.Т., 1987, Бигармоническая сплайн-интерполяция высотомеров Geos-3 и Seasat
данные Геофиз. Местожительство Lett., 14, 139-142.
Вессель, П., и Д. Берковичи, 1998 г., Интерполяция при растяжении шлицев: метод Грина.
функциональный подход, Математика Геол., 30, 77-93.
Wessel, P., and JM Becker, 2008, Интерполяция с использованием обобщенной функции Грина для
сферический шлиц поверхности на растяжение, Геофиз. J. Int, 174, 21-28.
Вессель П., 2009 г., Интерполятор функций Грина общего назначения. компьютеры &
Науки о Земле, 35, 1247-1254, DOI: 10.1016 / j.cageo.2008.08.012.
Используйте greensplinegmt онлайн с помощью сервисов onworks.net