作业帮 > 综合 > 作业

matlab怎么在找出图中极值的纵横坐标

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 09:11:22
matlab怎么在找出图中极值的纵横坐标
比如sin(x)/x函数的图像.找出每个极值点的坐标值.不要手点的那种data curse,不精确.求指导.用syms定义的函数,怎么没法用[ymax,tp]=max(y)啊,提示Undefined function 'max' for input arguments of type 'sym'.
matlab怎么在找出图中极值的纵横坐标
不能用是因为sym不支持max,y不是一系列的离散点
找极值有三种方法:
导数为0求极值、优化算法(运用函数)、绘图观察
其中有2个函数:(都是找极小值的函数,极大值可以用其相反数查找)
[x,feal,exitflag,output]=fminbnd(fun,x1,x2,options)
[x,feal,exitflag,output]=fminsearch(fun,x0,options)
%若exitflag给出数大于0,则成功找到极值点,x,fval分别是极值点和对应的目标函数极值
找0点的程序:
x1=-2;x2=2;
yx=@(x)-(sin(x)/x); %找极大值要用相反数找极小值
[xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)
xn0 =
1.6653e-016 @可以视为0
fval =
-1
exitflag =
1
output =
iterations:5
funcCount:6
algorithm:'golden section search,parabolic interpolation'
message:[1x112 char]
从而所以极大值为(0,1)
剩下的点楼主自己编程找找,这样印象才深刻