clc
fun1='x+5.*sin(x)-4.*cos(x)';%在[-5,-4][-3,-2][0,1]存在零点,在[-5,-3][2,3]存在极大值,在[-2,0]存在极小值
fun1_='-1*(x+5*sin(x)-4*cos(x))';
[fun1xmin,fun1ymin,exitflag]=fminbnd(fun1,-2,0)
[fun1xmax1,fun1_ymin1,exitflag]=fminbnd(fun1_,-5,-3)
[fun1xmax2,fun1_ymin2,exitflag]=fminbnd(fun1_,2,3)
fun1ymax1=-1*fun1_ymin1
fun1ymax2=-1*fun1_ymin2
%以上计算函数fun1的极大值和极小值
fun1x1=[-5,-4];
fun1x2=[-3,-2];
fun1x3=[0,1];
[fun1x01,fun1y01,exitflag]=fzero(fun1,fun1x1,optimset('tolx',1e-5,'display','on'))
[fun1x02,fun1y02,exitflag]=fzero(fun1,fun1x2,optimset('tolx',1e-5,'display','on'))
[fun1x03,fun1y03,exitflag]=fzero(fun1,fun1x3,optimset('tolx',1e-5,'display','on'))
%以上计算函数fun1的零点
subplot(3,1,1)
fplot(@(x)x+5.*sin(x)-4.*cos(x),[-5,5],'b')
grid on
title(['极小值:x=',num2str(fun1xmin),' y=',num2str(fun1ymin),'; 极大值1:x=',num2str(fun1xmax1),' y=',num2str(fun1ymax1),'; 极大值2 x=',num2str(fun1xmax2),' y=',num2str(fun1ymax1)],'Color','b')
xlabel('x')
ylabel('fun1')
legend('fun1=x+5*sin(x)-4*cos(x) 零点为-4.7684、-2.9447、0.5835')
fun2='3*x-4*atan(x)';%在-1 0 1 附近存在零点,在[-1,0]存在极大值,在[0,1]存在极小值
fun2_='-1*(3*x-4*atan(x))';
[fun2xmin,fun2ymin,exitflag]=fminbnd(fun2,0,1)
[fun2xmax,fun2_ymin,exitflag]=fminbnd(fun2_,-1,0)
fun2ymax=-1*fun2_ymin
%以上计算函数fun2的极大值和极小值
fun2x1=-1;
fun2x2=0;
fun2x3=1;
[fun2x01,fun2y01,exitflag]=fzero(fun2,fun2x1,optimset('tolx',1e-5,'display','on'))
[fun2x02,fun2y02,exitflag]=fzero(fun2,fun2x2,optimset('tolx',1e-5,'display','on'));
[fun2x03,fun2y03,exitflag]=fzero(fun2,fun2x3,optimset('tolx',1e-5,'display','on'))
%以上计算函数fun2的零点
subplot(3,1,2)
fplot(@(x)3.*x-4.*atan(x),[-5,5],'r')
grid on
title(['极小值:x=',num2str(fun2xmin),' y=',num2str(fun2ymin),'; 极大值:x=',num2str(fun2xmax),' y=',num2str(fun2ymax),],'Color','r')
xlabel('x')
ylabel('fun2')
legend('fun2=3*x-4*atan(x) 零点为-1.1263、0、1.1263')
fun3='x^3-22*x^2-6*x+15';%在[-2,0][0,1]存在零点,在[-1,1]存在极大值,无极小值
fun3_='-1*(x^3-22*x^2-6*x+15)';
[fun3xmax,fun3_ymin,exitflag]=fminbnd(fun3_,-1,1)
fun3ymax=-1*fun3_ymin
%以上计算函数fun3的极大值和极小值
fun3x1=[-2,0];
fun3x2=[0,1];
[fun3x01,fun3y01,exitflag]=fzero(fun3,fun3x1,optimset('tolx',1e-5,'display','on'))
[fun3x02,fun3y02,exitflag]=fzero(fun3,fun3x2,optimset('tolx',1e-5,'display','on'));
%以上计算函数fun3的零点
subplot(3,1,3)
fplot(@(x)x.^3-22.*x.^2-6.*x+15,[-5,5],'m')
grid on
title(['无极小值','; 极大值:x=',num2str(fun3xmax),' y=',num2str(fun3ymax)],'Color','m')
xlabel('x')
ylabel('fun3')
legend('fun2=x^3-22*x^2-6*x+15 零点为-0.9497、0.7102')