Существует ли точный метод подбора кривой, который возвращает коэффициенты, которые можно использовать для генерации исходной кривой с помощью функции? (Matlab) - PullRequest
0 голосов
/ 17 апреля 2019
  1. Возьмите набор данных и построите кривую.
  2. Возьмите кривую и примените подгонку кривой для генерации коэффициентов.
  3. Используйте коэффициенты для генерации кривой обратно через функцию.

В настоящее время пробовал многочлен с n-м порядком, но очень неточно.Также пробовал сплайн, который является точным, но не позволяет восстановить кривую только с помощью функции.

1 Ответ

0 голосов
/ 17 апреля 2019

Я думаю, что вы, вероятно, ищете подход и метод сплайна. Сплайн-объекты MATLAB позволяют восстанавливать кривую, используя только функцию (ppval). например,

% original curve 1
x = linspace(0, 4);
y = cos(2 * pi * x);
subplot 221
plot(x, y)
title('Original Curve 2')

% fitted curve 1
p = pchip(x, y);
s = spline(x, y);
subplot 223
plot(x, ppval(p, x), x, ppval(s, x))
legend('pchip','spline')
title('Fitted Curve 1')

% original curve 2
nSample = 1001;
x = linspace(0, 1e-2, nSample);
nPulse = 9;
c = [linspace(0.001, 0.009, nPulse); (7/8).^(1:nPulse)]';
y = pulstran(x, c, @gauspuls, 10000, 0.5); 
subplot 222
plot(x, y)
title('Original Curve 2')

% fitted curve 2
p = pchip(x, y);
s = spline(x, y);
subplot 224
plot(x, ppval(p, x), x, ppval(s, x))
legend('pchip','spline')
title('Fitted Curve 2')
...