Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Образование
  4. Программирование
  5. Интерполяция численных методов и интегрирования

Интерполяция численных методов и интегрирования

Запланировано Прикреплена Закрыта Перенесена Программирование
2 Сообщения 1 Постеры 2 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsxK Не в сети
    kirilljsxK Не в сети
    kirilljsx
    js
    написал отредактировано kirilljsx
    #1

    Давайте коротко расскажу что такое интерполяция.

    Интерполяция - это процесс оценки неизвестных значений, которые находятся между известными значениями.

    Проще объяснить так - это метод для дорисовки данных или же поиск значения на основе интервала и имеющихся данных.

    Приступим сразу к примеру в код:

    # Проще всего объяснять на времени или данных
    hours = [0, 4, 8, 16, 20, 24]
    users = [10, 50, 100, 120, 60, 20]
    

    И так что мы имеем, у нас есть два списка (массива) данных часы и пользователи.

    Смоделируем ситуацию, у нас отлетела аналитика на проекте с 08:00 до 16:00. И менеджеры слезно 😢 просят написать программу которая может определить сколько пользователей заходило в этот промежуток времени.

    Смотрите внимательно, я намерено убрал 12 часов из списка.

    И так, как же нам решить эту задачу. Мы можем взять чистую математику и вычленить среднее арифметическое, вот так:

    users_at_12 = (100 + 120) / 2
    

    Поняли? Мы взяли число 100 и 120 под нашими часами 8 и 16.

    Далее запишем обновленные данные в новые списки:

    full_hours = [0, 4, 8, 12, 16, 20, 24]
    full_users = [10, 50, 100, users_at_12, 120, 60, 20]
    

    И вот у нас верные данные с которыми можно делать различные последующие интеграции.


    Интегрируем руками, а теперь давайте сделаем небольшую интеграцию и найдем общий трафик за сутки.

    total_traffic = 0
    
    for u in full_users:
        total_traffic += u * 4
    print(f"Примерный общий трафик за сутки: {total_traffic}")
    

    И вот мы сделали нашу интерполяцию и интегрировали ее дальше в коде.

    1 ответ Последний ответ
    0
    • kirilljsxK Не в сети
      kirilljsxK Не в сети
      kirilljsx
      js
      написал отредактировано
      #2

      Пример выше, работает благодаря того что укладывается в геометрию за счет users_at_12 = (100 + 120) / 2.

      По хорошему интерполяция должна выглядеть по другому и использовать numpy.interp.

      Давайте посмотрим пример:

      import numpy as np
      
      hours = [0, 4, 8, 16, 20, 24]
      users = [10, 50, 100, 120, 60, 20]
      
      hours_np = np.array(hours)
      users_np = np.array(users)
      
      users_at_12 = np.interp(12, hours_np, users_np)
      
      print(f"Пользователей в 12:00: {int(users_at_12)}")
      
      1 ответ Последний ответ
      0

      Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

      Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

      С вашими комментариями этот пост мог бы стать ещё лучше 💗

      Зарегистрироваться Войти

      Категории

      • Главная
      • Новости
      • Фронтенд
      • Бекенд
      • Языки программирования

      Контакты

      • Сотрудничество
      • info@exlends.com
      • Наш чат
      • Наш ТГ канал

      © 2024 - 2026 ExLends, Inc. Все права защищены.

      Политика конфиденциальности
      • Войти

      • Нет учётной записи? Зарегистрироваться

      • Войдите или зарегистрируйтесь для поиска.
      • Первое сообщение
        Последнее сообщение
      0
      • Лента
      • Категории
      • Последние
      • Метки
      • Популярные
      • Пользователи
      • Группы