Ví dụ 58: tìm cực tiểu của hàm y=cosx trong khoảng [3,4]>> [x,fval]=fminbnd(@cos,3,4)x = 3.1416fval = -1.0000
Trang 1Ví dụ 58: tìm cực tiểu của hàm y=cosx trong khoảng [3,4]
>> [x,fval]=fminbnd(@cos,3,4)
x =
3.1416
fval =
-1.0000
Ví dụ 59:tìm cực tiểu của hàm f(x)=x^3 – 2x – 5 trên khoảng [0,2]
>> [x,fval]=fminbnd(@(x) x.^3-2.*x-5,0,2)
x =
0.8165
fval =
-6.0887
Bài toán tìm cực đại của hàm f được đưa về bài toán tìm cực tiểu của hàm g=-f
Ví dụ 60: tìm cực đại của hàm f(x)=x*exp(-x^2/2) trong khoảng [0,2]
>> g=@(x)-x.*exp(-x.^2/2);
>> [x,fval]=fminbnd(g,0,2)
x =
1.0000
fval =
-0.6065
Ví dụ 61: tìm cực tiểu của hàm 3 biến u= x^2 + 2.5siny –(xyz)^2
Xuất phát từ x=-0.6; y=-1.2; z=0.135
>> tạo hàm trong M-file
unction u = ham3bien( v )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
x=v(1);
y=v(2);
z=v(3);
u= x.^2 + 2.5*sin(y)-x.^2*y.^2*z.^2;
Trang 2>> v=[-0.6 -1.2 0.135];
>> [a,fval]=fminsearch(@ham3bien,v)
Ví dụ 62 : Tìm cực đại của hàm z = xy/2 + (47 – x – y)(x/3 + y/4) xuất phát từ (15 ;
10).
function z = ham2bien( v )
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
x=v(1);
y=(2);
z = x.*y/2+(47-x-y).*(x/3+y/4);
end
>> v=[15;10];
>> [a,fval]=fminsearch(@ham2bien,v)
Exiting: Maximum number of function evaluations has been exceeded
- increase MaxFunEvals option
Current function value:
-640790046256785090000000000000000000000000000000000000000000 00000000000000000000000000.000000
a =
1.0e+043 *
-1.3865
0.4622
fval =
-6.4079e+085