Azzera filtri
Azzera filtri

Solving a non linear least square of a sum function with two unknowns

1 visualizzazione (ultimi 30 giorni)
Hello,
i have a Chi-Square merit function with two unknown k1 and k2. Unfortunately, I don't know exactly which syntax to use to minimize this function in order to determine k1 and k2.
are known, each a vector with 1 column and 17 rows. are constant values.
Unfortunately, I am also relatively new with Matlab. I would be very happy about a step by step explanation. I have already found out that lsqnonlin can be used as a solver.
I appreciate your help. Thank you.
  2 Commenti
Star Strider
Star Strider il 18 Dic 2019
Note that lsqnonlin fits a function to data.
Do you have a matching vector for ?
Zehra Ese
Zehra Ese il 19 Dic 2019
Hi,
you're right, I didn't give enough information. Yes its correct I want to fit a function to data. We have given xdata and ydata. g vector contains all measured values. The first term in parantheses is the function we want to fit to the data. I would like to determine and , while minimizing this Chi-square funktion. All the other coefficients are known, as explained before.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 18 Dic 2019
Modificato: Matt J il 19 Dic 2019
It would look like this,
kInitial = __________; %initial guess of k
kOptimal = lsqnonlin(@(k) residual(k,am,bm,cm,g,ch,bh,ah) , kInitial); %do the optimization
function r=residual(k,am,bm,cm,g,ch,bh,ah)
k1=k(1); %extract k(i) into separate variables, for convenience
k2=k(2);
numerator=cm+bm*k2+am*k1; %calculate numerator expression for all m
denominator=ch+bh*k2+ah*k1; %calculate demonator expression for all m
r=numerator./denominator - g; %calculate the vector of residuals, for all m
end
  3 Commenti
Matt J
Matt J il 19 Dic 2019
Zehra Ese's answer converted to comment:
Thank u so much!!! It looks like it's working. I have to prove the results and I let you know.
Can I ask you to explain the individual steps to me in comments. I am still a beginner in Matlab and would really like to understand that.
Matt J
Matt J il 19 Dic 2019
You're welcome. I've added more comments to the code.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by