永发信息网

如何使用Matlab在图中标出极值点坐标

答案:3  悬赏:40  手机版
解决时间 2021-02-02 19:11
  • 提问者网友:蔚蓝的太阳
  • 2021-02-02 15:47
如何使用Matlab在图中标出极值点坐标
最佳答案
  • 五星知识达人网友:旧脸谱
  • 2021-02-02 16:33
先画出导数的曲线,根据其零点判断有几个极点,然后对各极点分别指定适当的初值,利用fsolve求出准确的零点位置,再绘图即可。

参考代码如下:
syms x
f=-2*x.^2+4+sin(2*pi*x);
df=diff(f);
ezplot(df,[-3 3])
x0=[-1.8 -1.3 -0.8 0.5 0.2 0.5 1.2];
x0=fsolve(inline(char(df)),x0,optimset('fsolve'));
hold on
plot(xlim,[0 0],'--c')
plot(x0,subs(df,x0),'ro')
 
figure(2)
ezplot(f,[-3 3])
hold on
plot(x0,subs(f,x0),'ro')
 
 

全部回答
  • 1楼网友:醉吻情书
  • 2021-02-02 18:54
%导数为零:-4*x+2*pi*cos(2*pi*x)=0
fzero(@(x)-4*x+2*pi*cos(2*pi*x),0)
x=-0.2784
z=2.8609
text(-0.2784,2.8609,'\leftarrow 极值点','FontSize',18)
  • 2楼网友:荒野風
  • 2021-02-02 17:57

%   导数为 0 的点 函数 fzero
x=-10:.1:10;
z=-2*x.^2+4+sin(2*pi*x);
figure,plot(x,z),grid on,hold on
 x=fzero(@(x)-4*x+2*pi*cos(2*pi*x),0) % 找到极值点
 %%
 x0=x;
z0=-2*x.^2+4+sin(2*pi*x);
plot(x0,z0,'ro')
text(x0,z0,'leftarrow 极值点','FontSize',18)
 
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯