How could I program a "for loop" in Matlab to calculate the function's minimum value?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
How could I program a "for loop" in Matlab to calculate the function's minimum value?
The goal is to locate the function G's minimum value point that corresponds to the particular parameter b=[1 2 3 4 5]. Like:
syms x
for b=1:1:5;
G=x.^2-b.*x+1;
f=inline(G);
x=fminbnd(f,0,10)
end
1 Kommentar
Stephen23
am 22 Jun. 2022
Rather than combining slow symbolic maths with deprecated and inefficient INLINE(), you should use:
Antworten (2)
Stephen23
am 22 Jun. 2022
X = [1,2,3,4,5];
Y = nan(size(X));
for k = 1:numel(X)
b = X(k);
G = @(x) x.^2 - b.*x + 1;
Y(k) = fminbnd(G,0,10);
end
plot(X,Y,'*')
0 Kommentare
Star Strider
am 22 Jun. 2022
G = @(x,b) x.^2-b.*x+1;
b=1:1:5;
for k = 1:numel(b)
xv(k) = fminsearch(@(x)G(x,b(k)), rand);
end
xv
The first derivative of ‘G’ is simply ‘2*x-b’ so an analytic solution is:
xq = b/2
Giving the same result.
.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!