defining a fitting type

2 Ansichten (letzte 30 Tage)
Wout Laeremans
Wout Laeremans am 12 Jan. 2023
Bearbeitet: Torsten am 16 Jan. 2023
I have written a funcion called Even_fit.m and there are 5 coefficients that need to be found from the fit (a,b,c,d,f) and there is one variable N that I want to load from the workspace, which is already fixed before fitting. My question is how I can load this variable in the fit, since when I do:
ft_even = fittype("Even_fit(x,a,b,c,d,f,N)");
It will also take N as a fitting coefficient, which I do not want.
Thank you!

Akzeptierte Antwort

Torsten
Torsten am 12 Jan. 2023
Bearbeitet: Torsten am 12 Jan. 2023
My guess is
fitType = @(x,a,b,c,d,f)Even_fit(x,a,b,c,d,f,N);
fit(x,y,fitType)
  2 Kommentare
Wout Laeremans
Wout Laeremans am 16 Jan. 2023
This does not work
Torsten
Torsten am 16 Jan. 2023
Bearbeitet: Torsten am 16 Jan. 2023
Put the vector of the independent variable to the end of the input list for your function "EvenFit":
x = linspace(0,1,10).';
y = 3*x.^2 + 0.1*rand(10,1);
n = 12;
fitType = @(a,b,c,x)Even_fit(x,a,b,c,n);
sol = fit(x,y,fitType)
Warning: Start point not provided, choosing random start point.
sol =
General model: sol(x) = Even_fit(x,a,b,c,n) Coefficients (with 95% confidence bounds): a = 2.803 (2.517, 3.09) b = 0.2072 (-0.09066, 0.505) c = 0.009327 (-0.05463, 0.07328)
plot(sol,x,y)
function yfit = Even_fit(x,a,b,c,n)
yfit = a*x.^2+b*x+c;
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Steven Lord
Steven Lord am 12 Jan. 2023
See the "Create Custom Nonlinear Models and Specify Problem Parameters and Independent Variables" and "Use Anonymous Functions to Work with Problem Parameters and Workspace Variables" examples on the fittype documentation page.

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by