Parameter optimization for a model that relates two datasets
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Andrew Johnson
le 2 Oct 2014
Commenté : Andrew Johnson
le 8 Oct 2014
Hello! This is a seemingly simple problem I have been stuck on for some time now. I would greatly appreciate any ideas or help!
I have a model of the form:
Y = A*X^-1 + B*X^4*F(X)
-----------
A and B are unknown parameters.
Y is a measured frequency distribution dataset of the form (Y(i), f(Y(i))).
X is another measured frequency distribution dataset (X(i), g(X(i))).
F is a known (albeit complicated) function of X.
-----------
I would like to find values for A and B such that the right hand side of the function transforms the frequency distribution (X,g(X)) into something that looks very nearly like the measured (Y,f(Y)).
I have tried a nested for-loop "brute-force" method which tests all combinations of A and B within reasonable bounds, but it has proven too sensitive to the discretization scale chosen for A and B. Is there any matlab solution to this sort of problem? Thank you in advance!
Andrew
0 commentaires
Réponse acceptée
Jeremy Kemmerer
le 2 Oct 2014
Do you know for certain that the parameters A and B exist? It sounds like you may have an underdetermined system.
One quick thing to try is to form a matrix Z with three columns: Y, X^-1, and X^4*F(X) and check the rank of the matrix using the function “ rank ”.
If Z is full rank (rank is equal to 3 in this case), this tells you that the columns are not linearly dependent, and hence the parameters you are looking for won’t exist.
For more information on the command “ rank ”, please see the documentation pages: http://www.mathworks.com/help/matlab/ref/rank.html
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!