Parameter optimization for a model that relates two datasets

3 次查看(过去 30 天)
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

采纳的回答

Jeremy Kemmerer
Jeremy Kemmerer 2014-10-2
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

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by