How write these equation in Matlab for optimization
2 ビュー (過去 30 日間)
古いコメントを表示
Muhammad Usama
2020 年 7 月 5 日
コメント済み: Thiago Henrique Gomes Lobato
2020 年 7 月 5 日
Dear Friends,
I want to write this optimization problem in matlab.
Anybody here to help me write thi in Matlab please.
the only one decision variable is 



0 件のコメント
採用された回答
Thiago Henrique Gomes Lobato
2020 年 7 月 5 日
First you don't need the variable w, your problem is to maximize corr(Q,S), which is a unconstrained problem in x. Second, by your problem definition, Q is a single value, and correlation between single values doesn't make much sense, so I believe what you mean by corr is that the values should be equal or Q is a vector and you forgot a summation index. Considering the second hypothesis an example of how to do it could be seen here:
% Random data
S = 1:100;
c = randn(100,4);1
% Function to minimize
f = @(x,S,c)-min(min((corrcoef(S', (x*c')/sum(x) )) )); % Negative so min = max. Two min's since corrcoef gives a matrix as output
% Minimizer
[x,fval] = fminsearch(@(x)f(x,S,c),[1,1,1,1])
You can use this code as basis to implement your problem.
11 件のコメント
Thiago Henrique Gomes Lobato
2020 年 7 月 5 日
You have this already. Note that you divide by sum(x). This is a linear operation, so it would be the same as:
(x/(sum(x)))*c'
which would give: sum(x) ==1. In other words, if you normalize x by it's sum you'll get the same result as the not normalized one.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surrogate Optimization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!