Finding global minimum with rand

6 Ansichten (letzte 30 Tage)
Ikenna Iwudike
Ikenna Iwudike am 2 Apr. 2022
Kommentiert: Ikenna Iwudike am 2 Apr. 2022
I'm supposed to use the MATLAB function "rand" to generate a large number of random vectors in 3-space, with coordinates between −6 and 6. Then I have to evaluate f at those points to find the minimum. But I don't know if I'm doing it correctly. My function is f(x, y,z) = x^4 + y^4 + z^4 − 3*x^2 − 8*y^2 − 6*x*z − 4*x*y − 10*z^2 + 6*y. Here's what I have so far:

Akzeptierte Antwort

Torsten
Torsten am 2 Apr. 2022
Bearbeitet: Torsten am 2 Apr. 2022
fumin = Inf;
for i = 1:100000
u = -6 + 12*rand(3,1);
fu = f(u);
if fu < fumin
umin = u;
fumin = fu;
end
end
  3 Kommentare
Torsten
Torsten am 2 Apr. 2022
Bearbeitet: Torsten am 2 Apr. 2022
This error message cannot stem from my code above.
At least if f is defined as you showed us:
f = @(u) u(1)^4 ... etc.
Ikenna Iwudike
Ikenna Iwudike am 2 Apr. 2022
Oh ok, I didn't add that in. Thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by