matlab 求函数极值

(1) fun = @(x)3*x^2 + 2*x + 4

 

fplot(fun)

 

求最小

[x,fval] = fminunc(fun,2)

 

(2)求目标函数y=sinx在[1,3]上的最大值

[x,f,e]=fminbnd('-sin(x)',1,3)

最大值即-的最小值

 

(3)

[x,favl,exitflag]=fmincon(fun1,x0,A,B,Aeq,Beq,l,u,fun2)

   fun1:目标函数

   x0:初始点

   A*x<=B(不等式约束)

   Aeq*x=Beq(等式约束)

   l<=x<=u(上下界约束)

 

画3维

 

fun =

    @(x,y)3*x^2+2*x+4+y

fun(2,3)

ans =

    23

 

xt = @(t) sin(t);
yt = @(t) cos(t);
zt = @(t) t;
fplot3(xt,yt,zt)
 

你可能感兴趣的:(matlab 求函数极值)