2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Сглаживание линией точечного графика в Maple
Сообщение18.12.2023, 18:55 
Аватара пользователя
Вот уже третий день вожусь с попыткой построения гладкой кривой при заданном массиве точек: [[0, 1], [0.1, 0.9930], [0.2, 0.9895], [0.4, 0.9688], [0.6, 0.9400], [0.8, 0.9033], [1, 0.8691], [1.2, 0.8319], [1.4, 0.7945], [1.6, 0.7586], [1.8, 0.7251], [2.2, 0.6659], [3, 0.5759], [4, 0.4998], [6, 0.4082]]. Пробовал в Maple функцию "Spline" и "PolynomialInterpolation" но выходит абракадра, тогда как по pointplot видно что функция очень прозаическая. Прошу помочь с проблемой сглаживания графика сплошной кривой.

 
 
 
 Re: Сглаживание линией точечного графика в Maple
Сообщение19.12.2023, 15:25 
В текущих версиях Maple, я не находил сглаживающих сплайнов. Если воспользоваться интерполирующим сплайном, то получится линия с некоторым провалом вниз на второй точке. Если её отбросить, то получится вполне плавная линия. Maple 15:
Код:
> data:= [[0, 1], [0.1, 0.9930], [0.2, 0.9895], [0.4, 0.9688], [0.6, 0.9400], [0.8, 0.9033], [1, 0.8691], [1.2, 0.8319], [1.4, 0.7945], [1.6, 0.7586], [1.8, 0.7251], [2.2, 0.6659], [3, 0.5759], [4, 0.4998], [6, 0.4082]]:
> f:= CurveFitting[Spline](data, v):
> data_c:= [[0, 1], [0.2, 0.9895], [0.4, 0.9688], [0.6, 0.9400], [0.8, 0.9033], [1, 0.8691], [1.2, 0.8319], [1.4, 0.7945], [1.6, 0.7586], [1.8, 0.7251], [2.2, 0.6659], [3, 0.5759], [4, 0.4998], [6, 0.4082]]:
> f_c:= CurveFitting[Spline](data_c, v):
> plots[display]([plot([f, f_c], v=0..6, color=[blue, red]), plot(data, color=black, style=point, symbol=box, symbolsize=14)]);

Вложение:
Spline.PNG


Непонятно, что (в каком смысле) сглаживать. На всякий случай: если нужно воспользоваться готовым средством, то можно попробовать Matlab (в пакете CurveFitting реализован сглаживающий сплайн).


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Сглаживание линией точечного графика в Maple
Сообщение19.12.2023, 17:28 
Аватара пользователя
GAA в сообщении #1623022 писал(а):
В текущих версиях Maple, я не находил сглаживающих сплайнов. Если воспользоваться интерполирующим сплайном, то получится линия с некоторым провалом вниз на второй точке. Если её отбросить, то получится вполне плавная линия. Maple 15:
Код:
> data:= [[0, 1], [0.1, 0.9930], [0.2, 0.9895], [0.4, 0.9688], [0.6, 0.9400], [0.8, 0.9033], [1, 0.8691], [1.2, 0.8319], [1.4, 0.7945], [1.6, 0.7586], [1.8, 0.7251], [2.2, 0.6659], [3, 0.5759], [4, 0.4998], [6, 0.4082]]:
> f:= CurveFitting[Spline](data, v):
> data_c:= [[0, 1], [0.2, 0.9895], [0.4, 0.9688], [0.6, 0.9400], [0.8, 0.9033], [1, 0.8691], [1.2, 0.8319], [1.4, 0.7945], [1.6, 0.7586], [1.8, 0.7251], [2.2, 0.6659], [3, 0.5759], [4, 0.4998], [6, 0.4082]]:
> f_c:= CurveFitting[Spline](data_c, v):
> plots[display]([plot([f, f_c], v=0..6, color=[blue, red]), plot(data, color=black, style=point, symbol=box, symbolsize=14)]);

Вложение:
Spline.PNG


Непонятно, что (в каком смысле) сглаживать. На всякий случай: если нужно воспользоваться готовым средством, то можно попробовать Matlab (в пакете CurveFitting реализован сглаживающий сплайн).

Спасибо огромное Вам!

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group