Sinusoidal fit with fixed points

2 ビュー (過去 30 日間)
curoi
curoi 2015 年 1 月 19 日
編集済み: Matt J 2015 年 1 月 22 日
Is there a way to fit a sine curve to some data points but hold some of the fitted points at known locations? I'm trying to hold the extrema constant because they are known points but the rest of the fit can be anything.
  2 件のコメント
Matt J
Matt J 2015 年 1 月 19 日
The location of the extrema determine everything about a sine curve: frequency, amplitude, and phase. There's nothing left to fit.
curoi
curoi 2015 年 1 月 22 日
編集済み: curoi 2015 年 1 月 22 日
You're absolutely right. I didn't explain that I didn't mean a single sine term but multiple sine terms. Is there a way to hold the summation of the terms fixed at certain points?

サインインしてコメントする。

採用された回答

Matt J
Matt J 2015 年 1 月 22 日
編集済み: Matt J 2015 年 1 月 22 日
If the unknown curve is given by y=F(x,p) where p is the vector of unknown parameters, and x and y are vectors of curve samples, then fmincon could be used to estimate p, with a sufficiently good initial guess p0,
p_fit = fmincon(@(p) norm(F(xdata,p) - ydata)^2, p0, [],[],[],[],[],[],...
@(p) F(xfixed,p)-yfixed, options)
where xfixed and yfixed are the x,y pairs that you want constrained. Then, of course, you get the curve with
y_fit=F(xdata,p_fit);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFit Postprocessing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by