2014-10-07 2 views
1

Я хочу оставить MATLAB для полной интеграции python в своих скриптах, и я понял, что выполнение той же интерполяции с теми же значениями не дает одинакового результата на обоих языках! Я уверен, что код matlab был прав, поэтому мне интересно, что то, что я делал на python, такое же.Python vs MATLAB для интерполяции

код MATLAB является:

F = TriScatteredInterp(xPanel', yPanel', COPEN', 'natural'); 
toolCOPEN = F(xTool', yTool'); 
toolCOPEN(isnan(toolCOPEN)) = (-1) 

который случается быть одна строка кода с GridData:

toolCOPEN = griddata((xPanel, yPanel), 
         COPEN, 
         (xTool, yTool), 
         method = 'linear', 
         fill_value = '-1' 
        ) 

Окончательный toolCOPEN отличается, и я действительно интересно, почему ..? Я бы предположил, что они оба используют триангуляцию Delaunay, которая должна давать те же результаты ...

Благодарим за помощь!

ответ

0

Вы используете интерполяцию со знаком natural в Matlab, но интерполяцию linear на Python, что, вероятно, вызывает различия в результатах.

+0

Я думал, что там были такие же ..! Я не нашел интерполяцию естественного соседа в Python; знаете ли вы, если он уже существует? – Julien

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