How can I do Exhaustive search in matlab?

10 Ansichten (letzte 30 Tage)
Adi Nor
Adi Nor am 21 Nov. 2019
Kommentiert: QUANG LE am 6 Okt. 2020
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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Nov. 2019
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 Kommentare
Walter Roberson
Walter Roberson am 6 Okt. 2020
mask = X + Y + Z <= maxP & X <= Y & Y <= Z;
QUANG LE
QUANG LE am 6 Okt. 2020
Thanks so much, it works.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by