Parameter optimization for a model that relates two datasets

1 回表示 (過去 30 日間)
Andrew Johnson
Andrew Johnson 2014 年 10 月 2 日
コメント済み: Andrew Johnson 2014 年 10 月 8 日
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
  1 件のコメント
Andrew Johnson
Andrew Johnson 2014 年 10 月 8 日
Thank you, Jeremy. I had suspected this might be the case. I appreciate your answer!
Best, Andrew

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by