Интерполяция

Главная Форумы Задать вопрос Интерполяция

Помечено: 

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Автор
    Сообщения
  • #6235 Score: 0
    txt
    Модератор
    86 pts

    Друзья,
    может кто нибудь подсказать как сделать в нашем динамовском питоне интерполяцию (т.е. может есть специальная встроенная библиотека):
    Конкретно нужна линейная интерполяция :
    допустим есть списки ,самый простой случай:
    List_x=[1,2,3,4]
    List_y=[1,2,3,4]
    то есть если вводим x=1,5 , то скриптом находятся ближайшие значения из обоих списков – в нашем случае – это  [1, 2] потом по формуле интерполяции выдается значение y=1,5

    #6236 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    Пора бы уж было узнать что в Динамо встроен IronPython 2.7, хоть смотри наши уроки. В этом Питоне нет встроенной библиотеки для интерполяции, но это настолько простая вещь, что можно было бы не поленится написать самому. Чес слово, должно было бы давно быть стыдно по каждому пуку создавать тему на форуме, можно же немножко хотя бы гуглить или же прикладывать минимум собственных умственных усилий? Я давно написал скрипты для одномерной и двухмерной интерполяции, но с тобой принципиально делиться не буду, твой паразитизм слегка уже утомил

    #6242 Score: 0
    txt
    Модератор
    86 pts

    Согласен,

    прежде чем задать вопрос я погуглил и нашел пример такого кода:

    #a - некий массив
    from scipy import interpolate
    x = np.arange(0,len(a))
    y = a
    f = interpolate.interp1d(x, y)

    но динамо метод scipy не импортируется , выдает ошибку. Поэтому и задал вопрос, может аналогичный метод есть или какой-то способ подгрузить эту библиотеку

    #6243 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    библиотеки numpy и scipy для IronPython не предусмотрены, много лет назад какой то умелец пытался их адаптировать, но это было непросто. Зато в АйронПайтон можно легко использовать библиотеки .NET, которых доступно очень много, в том числе и математических.

    #6244 Score: 0
    txt
    Модератор
    86 pts

    Понял, спасибо )

    #6246 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    тут есть код интерполятора, годный для любого Питона https://stackoverflow.com/questions/7343697/linear-interpolation-python

    #6247 Score: 3
    txt
    Модератор
    86 pts

    У меня получилось так:

    #6248 Score: 3
    Legantmar
    Хранитель
    474 pts

    добавлю своих 5 копеек
    x=[1,3,5,7]
    y=[10,20,30,40]
    values=[1.5, 3.5]
    OUT = [y[i] + (y[i+1] - y[i])/((x[i+1]- x[i]) / (j-x[i])) for j in values for i in range(len(x)) if j> x[i] and j < x[i+1]]

    #6249 Score: 1
    Ренат Я.
    Модератор
    79 pts

    я тож чутка добавил, добавил проверку на то что подается на вход

    ЗЫ учусь нормально с пастербина вставлять)

    #6250 Score: 0
    Legantmar
    Хранитель
    474 pts

    Для ВСЕХ, кто учится вставлять код с Pastebin, обязательно посмотреть эту страничку

    Рекомендация. Оформление питон кода


    p.s. обращаю внимание на:
    – копировать нужно строчку с надписью <iframe…
    – вставлять в сообщение ПРЕДВАРИТЕЛЬНО включив ТЕКСТ (в верхнем правом углу сообщения)

    #6252 Score: 0
    Ренат Я.
    Модератор
    79 pts

    вот что такое? что я не правильно делаю?

    получается вот так

    #6253 Score: 0
    Oleg
    Участник
    28 pts

    Поддерживаю, тоже когда пробовал вставлять код с pastebin, получалась такая петрушка. Хотя, вроде как, всё делал по инструкции)

    #6254 Score: 0
    Legantmar
    Хранитель
    474 pts

    Ренат, правильные действия следующие:
    СНАЧАЛА включить режим ТЕКСТ, затем вставить код и нажать отправить (не желательно возвращаться снова в Визуально)
    Как исправить твою ситуацию:
    – перейти на закладку ВИЗУАЛЬНО, вырезать код (там он написан с правильными скобками)
    – перейти на вкладку ТЕКСТ вставить код и нажать отправить
    попробуй

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Для ответа в этой теме необходимо авторизоваться.