How to use harmonic fitting method

Hi,
Please, how can I use Harmonic fiting for the attached data to get a smooth fit.

5 个评论

Where are the values of the variable you want to plot the data against (time or whatever) ?
@TTA, Like this?
y = load('darta1.txt');
x = linspace(10, 60, numel(y));
plot(x, y, 'linewidth', 1.5), grid on
xlabel('x'), ylabel('y')
yes but I want use harmonics to fit it to something like the attached figure
Tell us precisely what you define as your approximating "harmonic".

请先登录,再进行评论。

 采纳的回答

Hi @TTA,
I'm interpreting your 'Harmonic' model as the 'Sum of Sine' model. If this is not the case, then you will need to create a custom nonlinear model that suits the name "Harmonic" using the fittype() function.
y = load('darta1.txt');
x = linspace(10, 60, numel(y));
[f, gof] = fit(x', y, 'sin3')
f =
General model Sin3: f(x) = a1*sin(b1*x+c1) + a2*sin(b2*x+c2) + a3*sin(b3*x+c3) Coefficients (with 95% confidence bounds): a1 = 1564 (-8.752e+04, 9.065e+04) b1 = 0.04957 (-0.1147, 0.2138) c1 = 0.1819 (-4.047, 4.411) a2 = 1363 (-8.772e+04, 9.045e+04) b2 = 0.05511 (-0.1195, 0.2297) c2 = 3.18 (-1.365, 7.725) a3 = 2.975 (2.774, 3.176) b3 = 0.3159 (0.307, 0.3248) c3 = -4.138 (-4.419, -3.857)
gof = struct with fields:
sse: 465.0567 rsquare: 0.9983 dfe: 492 adjrsquare: 0.9983 rmse: 0.9722
plot(f, x, y), grid on,
legend('data', 'Sum of Sine (type-3)', 'location', 'best')

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by