Форум сайта python.su
Есть несколько значений x и y:
x = np.array([2, 4, 8, 10, 20, 50, 70, 100, 150, 200, 300, 400, 500],dtype=float) y = np.array([90, 45, 22.5, 18, 9, 3.60, 2.57, 1.8, 1.2, 0.9, 0.6, 0.45, 0.36],dtype=float)
import matplotlib.pyplot as plt plt.plot(x,y)
import numpy as np from scipy.interpolate import interp1d f2 = interp1d(x, y, kind='cubic') nx = np.linspace(2,500,100) plt.plot(x, y,'o',nx, f2(nx)) plt.show()
Отредактировано excander (Апрель 2, 2013 01:48:27)
Офлайн
Хорошо. Как Вы себе представляете кривую, которая будет проходить через все Ваши случайные точки?
Каким образом ее можно высчитать и построить аппаратно чтобы она была адекватной? Единственная возможность - аппроксимация. Если правильно подобрать степень многочлена, то она пройдет очень близко к точкам.
excanderКак ведет себя функция? Да это же видно и из ломаной.
Нужно что-то простое, чтобы показать как ведет себя функция… и все. помогите плз))
Отредактировано 4kpt (Апрель 2, 2013 02:36:56)
Офлайн
Посмотрите на рисунок. Здесь получена кривая, которая проходит четко через все точки. Использован метод сплайн-интерполяции. Проще - построение сплайна.
Как Вы считате, кривая соответствует поведению функции? Или лучше оставить ломаную?
Отредактировано 4kpt (Апрель 2, 2013 02:31:46)
Прикреплённый файлы: График.jpg (50,5 KБ)
Офлайн
4kptДа. это видно из ломанной, но мне нужно визуально красивый график, а не ломаную.
Как Вы себе представляете кривую, которая будет проходить через все Ваши случайные точки?… Как ведет себя функция? Да это же видно и из ломаной.
Офлайн
excander
Для каких Вам задач это надо?
Офлайн
Повторюсь еще раз. Если нужно узнать поведение Вашей функции - либо интерполяция, либо - аппроксимация (она позволит описать поведение функции и визуально его отобразить, но пройдет не через Ваши точки).
Отредактировано 4kpt (Апрель 2, 2013 02:40:05)
Офлайн
4kpt
Посмотрите на рисунок. Здесь получена кривая, которая проходит четко через все точки. Использован метод сплайн-интерполяции. Проще - построение сплайна.
Как Вы считате, кривая соответствует поведению функции? Или лучше оставить ломаную?
4kptя по-моему очень подробно описал) Задача: даны N точек, провести через них кривую. (как в школе, строили график по точкам карандашом) Грубо говоря, хочу сделать задание не на миллиметровке, а в питоне.
excanderДля каких Вам задач это надо?
Офлайн
Еще раз. Для каких задач? Чисто теоретически или кому-то показывать? Цель получения такого графика?
Это будет в презентации на конференции или в статья? Лабораторная работа или что?
Отредактировано 4kpt (Апрель 2, 2013 02:51:11)
Офлайн
Я знаю, что либо аппроксимация либо интерполяция. Мне нужно самое простое решение.
4kptЛабораторка в инсте по БЖД)) А какая разница, лабораторная это, или конференция, или статья, или папе показать хочу красивый график?)) Функции разные что-ли?)
Еще раз. Для каких задач? Чисто теоретически или кому-то показывать? Цель получения такого графика?
Это будет в презентации на конференции или в статья? Лабораторная работа или что?
Отредактировано excander (Апрель 2, 2013 03:01:16)
Офлайн
Необходимо понять ценность этой информации для окружающих.
excanderВикипедия, как я вижу, рулит. Другой литературы не нашлось :)
Вы ошибаетесь, интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Отредактировано 4kpt (Апрель 2, 2013 03:20:41)
Офлайн