Функция interp2d в ошибке выполнения PythonPython

Программы на Python
Ответить
Anonymous
 Функция interp2d в ошибке выполнения Python

Сообщение Anonymous »

У меня есть следующие данные, которые в MATLAB легко интерполируются с помощью функции interp2. Однако в Python при использовании interp2d возникает следующая ошибка:

RuntimeWarning: No more knots can be added because the number of B-spline
coefficients already exceeds the number of data points m.
Probable causes: either s or m too small. (fp>s)
kx,ky=3,3 nx,ny=17,11 m=90 fp=0.000013 s=0.000000
warnings.warn(RuntimeWarning(_iermess2[ierm][0] + _mess))


Я пытался использовать Griddata, но и в этом ничего не получилось.
Буду очень признателен за любое решение этих проблем.

КОД:

OF_S = np.array([[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6],
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]])

FT_FTAVAIL_S = np.array([[0.198, 0.205, 0.214, 0.227, 0.237, 0.249, 0.26, 0.271, 0.285, 0.304, 0.332, 0.371, 0.405, 0.436, 0.464, 0.507, 0.548, 0.598, 0.649, 0.694, 0.746, 0.787, 0.822, 0.851, 0.879, 0.914, 0.951, 0.985, 0.999, 1],
[0.198, 0.205, 0.214, 0.227, 0.237, 0.249, 0.26, 0.271, 0.285, 0.304, 0.332, 0.371, 0.405, 0.436, 0.464, 0.507, 0.548, 0.598, 0.649, 0.694, 0.746, 0.787, 0.822, 0.851, 0.879, 0.914, 0.951, 0.985, 0.999, 1],
[0.198, 0.205, 0.214, 0.227, 0.237, 0.249, 0.26, 0.271, 0.285, 0.304, 0.332, 0.371, 0.405, 0.436, 0.464, 0.507, 0.548, 0.598, 0.649, 0.694, 0.746, 0.787, 0.822, 0.851, 0.879, 0.914, 0.951, 0.985, 0.999, 1.000]])

ISP_ISPAVAIL_S = np.array([[0.9845, 0.9867, 0.9867, 0.9867, 0.9867, 0.9889, 0.9889, 0.9889, 0.9889, 0.9911, 0.9911, 0.9933, 0.9933, 0.9956, 0.9956, 0.9956, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 0.9978, 1, 1, 1, 1],
[0.9756, 0.9756, 0.9761, 0.9778, 0.9778, 0.9778, 0.9787, 0.9798, 0.98, 0.9804, 0.9827, 0.9844, 0.9855, 0.9867, 0.9889, 0.9892, 0.9911, 0.9927, 0.9933, 0.9942, 0.9956, 0.9956, 0.9978, 0.9978, 0.9978, 0.9978, 0.9988, 1, 1, 1],
[0.9662, 0.9662, 0.9662, 0.9679, 0.9685, 0.9697, 0.9707, 0.9709, 0.972, 0.9738, 0.9755, 0.9797, 0.9805, 0.982, 0.9842, 0.9863, 0.9873, 0.9887, 0.991, 0.992, 0.9932, 0.9943, 0.9955, 0.9955, 0.9966, 0.9977, 0.9978, 0.9986, 0.9999, 1]])

ISP_ISPAVAIL_interpGrid = interp2d(FT_FTAVAIL_S, OF_S, ISP_ISPAVAIL_S, kind='cubic')


Подробнее: https://stackoverflow.com/questions/568 ... time-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»