Fitting an custom equasion where i only want to optimize specific parameters

1 view (last 30 days)
I want to optimize the fit of my custom equasion. However I only want to change 3 spezific parameters, but the funktion has multiple parameters.
My funktion looks something like this:
1000000*sigk*h1*g1*(c3+(1-((H./100).^c4))/(c5*(1+(Dwir/100)))).*f1)
with sigk, h1, g1, Dwir = skalar
H is a vektor 1x365
f1 has previously been calculated using:
f1 = zeros(1,length(t));
for m = 1:5 %Schleife verschiedene Kelvinelemente
f1 = f1+n(1,m)*(1-exp(-a(1,m)*(t.^b_f1-tau^b_f1))); %Zeitfunktion, Vektor
end
I want to fit the parameters c3,c4 and c5
I have a Vektor "Data" with data from an experiment.
Can you explain to me how I can use the Curve Fitting app or if that is even possible? thank you.

Answers (1)

Star Strider
Star Strider on 3 Mar 2024
You would need to supply pre-determined values for ‘sigk’, ‘h1’, ‘g1’, and ‘Dwir’ if you have them (you have already calculated ‘f1’), so substitute them into your function and then estimate ‘c3', ‘c4’and ‘c5’.
I assume ‘Data’ and ‘H’ are the same size, so you could then use your function to estimate the desired parameters.
The function is nonlilnear in the chosen parameters ‘c3', ‘c4’and ‘c5’, so you would need to use a nonnlinear parameter estimation function. There are several available in MATLAB.

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!