# How could I program a "for loop" in Matlab to calculate the function's minimum value?

조회 수: 1(최근 30일)
chunyi liu 2022년 6월 22일
댓글: Star Strider 2022년 6월 22일
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표시숨기기 없음
Stephen23 2022년 6월 22일
Rather than combining slow symbolic maths with deprecated and inefficient INLINE(), you should use:

댓글을 달려면 로그인하십시오.

### 답변(2개)

Stephen23 2022년 6월 22일
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표시숨기기 이전 댓글 수: -1

댓글을 달려면 로그인하십시오.

Star Strider 2022년 6월 22일
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
xv = 1×5
0.5000 1.0000 1.5000 2.0000 2.5000
The first derivative of ‘G’ is simply ‘2*x-b’ so an analytic solution is:
xq = b/2
xq = 1×5
0.5000 1.0000 1.5000 2.0000 2.5000
Giving the same result.
.
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Star Strider 2022년 6월 22일
My pleasure!

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!