У меня есть следующие данные, которые в 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
Функция interp2d в ошибке выполнения Python ⇐ Python
Программы на Python
-
Anonymous
1774155616
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, но и в этом ничего не получилось.
Буду очень признателен за любое решение этих проблем.
[b]КОД:[/b]
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')
Подробнее: [url]https://stackoverflow.com/questions/56895687/interp2d-function-in-python-runtime-error[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия