How can I do Exhaustive search in matlab?

10 ビュー (過去 30 日間)
Adi Nor
Adi Nor 2019 年 11 月 21 日
コメント済み: QUANG LE 2020 年 10 月 6 日
I have a function that depends on three variables x,y,z. I want to find the optimal values of these variables using exhaustive search that can maximize this function, subject to x+y+z<=1. How can I do this in Matlab?

採用された回答

Walter Roberson
Walter Roberson 2019 年 11 月 21 日
xvalues = [list all possible x values]
yvalues = [list all possible y values]
zvalues = [list all possible z values];
[X, Y, Z] = ndgrid(xvalues, yvalues, zvalues);
mask = X + Y + Z <=1;
x = X(mask);
y = Y(mask);
z = Z(mask);
f = x.^3 - log(y+z) + sin(z); %compute everything. %use appropriate function
[bestf, bestidx] = min(f); %or max(f) depending what you are trying to optimize
bestx = x(bestidx);
besty = y(bestidx);
bestz = z(bestidx);
  5 件のコメント
Walter Roberson
Walter Roberson 2020 年 10 月 6 日
mask = X + Y + Z <= maxP & X <= Y & Y <= Z;
QUANG LE
QUANG LE 2020 年 10 月 6 日
Thanks so much, it works.

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by