How could I program a "for loop" in Matlab to calculate the function's minimum value?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Stephen23
le 22 Juin 2022
Rather than combining slow symbolic maths with deprecated and inefficient INLINE(), you should use:
Réponses (2)
Stephen23
le 22 Juin 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 commentaires
Star Strider
le 22 Juin 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 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!