用MATLAB求函数的极值,求解答

如题所述

第1个回答  2016-03-21
syms x y
f=y^3/9+3*x^2*y+9*x^2+y^2+x*y+9;
fx=diff(f,x);
fy=diff(f,y);
[x0,y0]=solve(fx,fy,[x,y]);
if isempty(x0)
error('函数不存在极值点!');
end
fxx=diff(fx,x);
fyy=diff(fy,y);
fxy=diff(fx,y);
for k=1:length(x0)
fv=limit(limit(f,x,x0(k)),y,y0(k));
A=limit(limit(fxx,x,x0(k)),y,y0(k));
B=limit(limit(fxy,x,x0(k)),y,y0(k));
C=limit(limit(fyy,x,x0(k)),y,y0(k));
if A*C-B^2>0
if A<0
disp(['点[',char(x0(k)),', ', char(y0(k)),']是极大值点, 极大值为', char(fv)]);
else
disp(['点[',char(x0(k)),', ', char(y0(k)),']是极小值点, 极小值为', char(fv)]);
end
elseif A*C-B^2<0
disp(['点[',char(x0(k)),', ', char(y0(k)),']不是极值点']);
else
disp(['无法判断点[',char(x0(k)),', ', char(y0(k)),']是否极值点']);
end
end

运行结果为:
点[0, 0]是极小值点, 极小值为9
点[-1/3, -6]是极大值点, 极大值为22
点[5/6, -5/2]不是极值点
点[-7/6, -7/2]不是极值点本回答被提问者和网友采纳
第2个回答  2016-03-21
245672112346fghjkd
第3个回答  2016-03-21
追问

你好,可以帮助我么

如何用matlab求函数的单调区间和极值
有三种方法:导数为0求极值、优化算法(运用函数)、绘图观察有2个函数:[x,feal,exitflag,output]=fminbnd(fun,x1,x2,options)[x,feal,exitflag,output]=fminsearch(fun,x0,options)%若exitflag给出数大于0,则成功找到极值点,x,fval分别是极值点和对应的目标函数极值运用函数的例子:在-10《...

用MATLAB求函数的极值,求解答
点[-1\/3, -6]是极大值点, 极大值为22 点[5\/6, -5\/2]不是极值点 点[-7\/6, -7\/2]不是极值点

matlab已知函数,求其极值
需要注意的是,函数显然最小值为-inf,所以只能是求极大值:f=@(x)4*(x(1)-x(2))-x(1)^2-x(2)^2;x=fminunc(@(x)-f(x),[0 0])ezmesh('4*(x-y)-x^2-y^2')hold onplot3(x(1),x(2),f(x),'b.','markersize',20)

用matlab编写一个函数,用函数实现求一个函数的极值
plot(t,y,'b')grid on xlabel('t')ylabel('y')ymax=max(y);%求极大值 tm=find(diff(sign(diff(y)))==-2)+1;tmax=-2*pi+tm(1)*0.0001;%求极大值坐标 [tmin,ymin]=fminbnd('3.*sin(x).*exp(-x)',-4,-2);%求极小值及坐标 ymax tmax tmin ymin ...

MATLAB实例讲解—求二元函数的极值
1、diff函数 差分和近似导数 如果 X 是 0×0 的空矩阵,则 Y = diff(X) 返回 0×0 的空矩阵。请注意,Y 的元素比 X 少一个。使用 diff 函数和语法 Y = diff(f)\/h 求偏导数近似值,其中 f 是函数值在某些域 X 上计算的向量,h是一个相应的步长大小。例如,sin(x) 相对于 x 的...

怎么求函数的极小值 matlab里
1、首先在电脑中启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码。2、其中f=@(x)是通过匿名函数的方法定义函数,inline( )是通过内联函数的方法定义函数。3、然后保存和运行上述脚本,如下图所示。4、在命令行窗口返回如下结果。5、保存和运行上述脚本也会得到以下图像,可以看到函数f(x)=...

matlab中对函数求导并求极值
用matlab对函数求导及其极值 ,可以先用diff()函数求出y',然后令y'=0,用vpasolve()解出x值。实现代码如下:syms x z=exp(4.1399-0.0235*x);y=0.000157*z*(1-z)*(1+z)^3\/((1+z)^4+0.00004476*z^2)^(3\/2);dy=diff(y,1)x=vpasolve(dy==0)运行结果 x=120.125 ...

matlab求函数的极值
for i = 1:numel(x)y(i) = sin(i^2)+cos(i+2);end y_min = min(y);y_max = max(y);x_min=x(find(y==y_min));x_max=x(find(y==y_max));运行结果:x_min=3,y_min=-1.8649;x_max = 5,y_max=1.9063 即在最小值点x=3处有最小值-1.8649;在最大值点x=5...

写matlab命令,求函数f(x)=x^4-3x^2-7在区间[2,12]上的极小值点。
用matlab的fminbnd命令,可以求解一元函数的极值问题。计算结果:函数f(x)=x^4-3x^2-7在区间[2,12]上的极小值点(2,-3)

应用matlab求函数f(x)=sin(x)\/x^2+x*cos(x)在区间【1,9】内的极值点...
求函数极值,可以用fminsearch()极小值函数来解决。求函数极大值就求函数极小值的反函数。1、函数极小值的求法 >> func=@(x)(sin(x)\/x^2+x*cos(x));>> [x,f]=fminsearch(func,4)x = 3.4427 %极小值点 f = -3.3128 %极小值 2、函数极大值的求法 >> func=@(x)-(...

相似回答