2015-05-27 4 views
-1

У меня есть матрица 360 * 3 со столбцом 1, имеющим значения столбца широты, имеющие значения долготы и столбец 3, имеющие значения силы тяжести.2D-интерполяция в matlab

Проблема заключается в том, что когда я создаю сетку широты и долготы, используя meshgrid, интервал сетки не является константой, создающей проблему.

Я попытался создать новую равноотстоящую сетку 360 * 360 с минимальным максимальным значением так же, как изначально предоставленной широты и долготы. Теперь мне нужно интерполировать значения гравитации на вновь сформированной сетке.

Пожалуйста, помогите. Я использую interp2, но он показывает ошибку.

dt1 
x = D(:,1); 
y = D(:,2); 
g = D(:,3); 
xg = linspace(min(x),max(x),360); 
yg = linspace(min(x),max(x),360); 
[X,Y] = meshgrid(xg,yg); 
[xx,yy] = meshgrid(x,y,); 
G = interp2(xx,yy,g,X,Y);` 

Пожалуйста, помогите

+0

Возможно, вам следует предоставить некоторые примеры данных и показать ошибку. – Steffen

+0

К сожалению, 'interp2' не будет делать то, что вам нужно, потому что он также требует, чтобы входные данные были равномерно распределены. Класс «рассеянный интерполяционный» - тот, который вам нужен. – xenoclast

ответ

0

Несколько вещей относительно вашего кода:

  • г кажутся недостоверной размера, то есть она должна быть матрица размера х/у.
  • yg = linspace (min (x), max (x), 360); -> yg = linspace (min (y), max (y), 360);
  • есть опечатка в коде на [хх, уу] = meshgrid (х, у,) ;, второй запятой в функции meshgrid дает погрешность

Затем я попробовал следующую команду и кажется, что он отлично работает

x=sort(rand(10,1)); 
y=sort(rand(10,1)); 
[xx,yy] = meshgrid(x,y); 
g=peaks(xx,yy); % the gravity values have to be matrix form 
xg=linspace(min(x), max(x), 360); 
yg=linspace(min(y), max(y), 360); 
[X,Y]=meshgrid(xg,yg); 
G=interp2(xx,yy,g,X,Y); 
figure 
mesh(G) 
figure 
mesh(g) 

Предоставьте данные в D (..), чтобы получить дополнительную помощь.

+0

Спасибо за помощь, вызванную проблемой g. –

+0

Нет проблем, вы могли бы поддержать ответ, если вам понравилось – rst

Смежные вопросы