Parameter optimization for a model that relates two datasets

2 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by