Как всегда, хочется влезть в разговор умных людей - не бейте больно если пургу буду нести

...
Если я правильно понял, задачка об интерполяции векторного поля с одной сетки на другую. Что использовать для интерполяции - splines, kriging или что-то более простое - это, по-моему, зависит от векторного поля и требуемой точности интерполяции. Если функция заведомо непрерывна и дифференцируема, я бы splines первыми попробовал.
По поводу векторов. Вектор, если мне память не изменяет, определяется N координатами в N-мерном пространстве, будь то декартовы координаты или криволинейные какие. Выбор системы координат зависит от симметрии проблемы, это Вам, aissp, виднее. Если нижеследующее слишком обще, то можно в конкретной системе координат изложить.
В произвольной системе координат {
xi} =
x1, x2, ..., xN вектор в новой сетке задан как линейная комбинация компонент:
A = SUM(
ei * fi(
x1, x2, ..., xN ) )
где SUM обозначает суммирование по i oт 1 до N (размерность пространства), {
еi} - базис(в общем, необязательно совпадающий с базисом старой системы координат, но, для простоты, считаем, что базисы совпадают), а fi - некие заданные функции координат - интерполяционные функции, зависящие от координат начал и концов неких известных нам векторов старой сетки. При этом, имеем ошибку интерполяции dfi для каждой из функций fi в точках новой сетки. Как эту ошибку считать - вопрос метода интерполяции ( я себе представляю, как считать ошибку для интерполяции полиномами; splines - частный случай полиномов; расписывать сейчас времени, к сожалению, нет, но коротко, в одномерном случае для полинома степени n ошибка интерполяции в точке х:
df = f(x) - pn(x) = f[x1, ..., xn+1, x] * PRO( x - xi )
где PRO - произведение по i от 1 до n+1, a
f[x1, ..., xn+1, x] = SUM( f( xj ) / PRO( xj - xk ) )
где SUM - сумма по j от 1 до n+1, a PRO - произведение по k от 1 до n+1, где k неравно j. ).
Длина вектора даётся, в общем виде, как квадратный корень из скалярного произведения вектора на себя:
|
A| = sqrt( <
A,
A > ) = sqrt( SUM( <
ei,
ei > * Fi^2 ) )
где Fi - значение функции fi данной точке. Заметим, что в общем случае произвольных криволинейных координат <
ei,
ei> не равно 1 (но лучше провести нормировку, чтоб мозги себе не парить). Направление вектора задаётся коллинеарным и сонаправленным ему единичным вектором
Е =
A / |
A|
или направляющими косинусами этого единичного вектора с базисными векторами. В общем виде,
COS( ai ) = <
Е,
ei > / ( |
E| * |
ei| )
Ошибка dfi интерполяции в fi приводит, естественно, к ошибкам в |
A| и COS( ai ). Ошибка в функции G от неких коррелированных переменных {
gi} при неточности измерения dgi даётся выражением, насколько я помню:
dG = sqrt( SUMi( SUMk( Delta_G/Delta_gi * Delta_G/Delta_gk * Ci,k ) ) )
где суммирование идёт по i и k от 1 до N, Delta_G/Delta_gi(gk) - частная производная функции G по переменной gi(gk), и Ci,k - элементы ковариационной матрицы, причём Ci,i = dgi^2.
Однако, если базис {
еi} ортонормирован, то наши переменные fi - некоррелированны, т.к. мы независимо интерполируем по каждой из новых координат в ортонормированном базисе, то есть, Ci,k = KroneckerDelta(i,k) * dgi * dgk, то имеем
dG = sqrt( SUM( ( dgi * Delta_G/Delta_gi )^2 ) ),
где G - это наши |
A| и COS( ai ) как функции переменных fi с ошибками dfi.
Пардон, что так длинно - я так понимаю, вопрос был в основном именно о последнем уравнении - вычисление ошибок, но мне показалось, что ответ из одного уравнения будет неполным, и Вы, aissp, мне поставите "незачёт"

...
Если где напортачил - намекните, но не объясняйте, я постараюсь сам допереть

.