Notice
Recent Posts
Recent Comments
Link
완숙의 블로그
최대 최소점 찾기 (Finding a Minimum or a Maximum of a Function) 본문
Programing Language/Matlab
최대 최소점 찾기 (Finding a Minimum or a Maximum of a Function)
완숙 2018. 12. 12. 02:54Finding a Minimum or a Maximum of a Function
Bello-
그 귀찮은 방정식을 최대최소까지 찾아준대요!
Intuition Concept
아까와 마찬가지로 컴퓨터의 반복계산과 Y,N를 사용해서 만든 알고리즘이에요.
하지만 비교의 개념이 들어가다보니 아까는 하나의 값을 넣어주었지만
이번에는 값을 범위화해서 넣어주어야 겠죠.
그리고 이번에는 최솟값을 구하는 함수 밖에 없어요.
최대값은 함수를 대칭시켜서 구합니다.
Function
[최대일때x 최댓값] = fminbnd(함수,x1, x2)
여기서 함수는, f(x) = 0
의 형태로 만든 뒤에 사용해야 합니다.x1
과 x2
는 x1 < x2
관계에 있어야 합니다.
Example
0 < x < 10
의 범위내에서 x^3 – 12*x^2 +40.25*x – 36.5
의
최댓값, 최솟값을 구해라.
초기값을 정해야 하니 함수를 그려봅니다.
f = @(x)x^3-12*x^2+40.25*x-36.5
fplot(f,[0 10]
1 < a < 3
에서 최댓값, 5 < b < 6
에서 최솟값이 등장합니다.
f = @(x)x^3-12*x^2+40.25*x-36.5
fplot(f,[0 10])
[a fv_min] = fminbnd(f, 3, 8)
f_minus = @(x)(-1)*(x^3-12*x^2+40.25*x-36.5)
[b fv_max_minus] = fminbnd(f_minus, 1, 4)
최댓값은 함수를 x축 대칭한 후 최솟값을 찾은 후 함숫값에
다시 -1
을 곱해주면 최댓값이 됩니다.
a =
5.6073
fv_min =
-11.8043
b =
2.3927
fv_max_minus =
-4.8043
실제 최댓값은 fv_max = -fv_max_minus = 4.8043
이 될 것입니다.
그럼
Poopaye-
'Programing Language > Matlab' 카테고리의 다른 글
상미분방정식의 수치적 해법 (Numerical Solution of Ordinary Differential Equations) (0) | 2018.12.12 |
---|---|
수치적 적분 (Numerical integration) (0) | 2018.12.12 |
방정식 풀기 (Solving an Equation with One Variable) (0) | 2018.12.12 |
보간법 (Interpolation) (0) | 2018.12.12 |
다항식 곡선 피팅 (Curve Fitting with Polynomials) (0) | 2018.12.12 |
Comments