永发信息网

matlab中,求某个点附近的最值

答案:2  悬赏:60  手机版
解决时间 2021-02-27 10:27
  • 提问者网友:趣果有间
  • 2021-02-26 17:42
matlab中,求某个点附近的最值
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-02-26 18:53
先求导等于0,算出极值,在根据极值左右的单调性,就可以知道是极大值还是极小值,但有的函数有定义域,端点的值也要求出,最后极大值,极小值端点值相互比较,就知道是那个是最大值和最小值
上面的这个是理论基础了,在matlab中
输入以下代码,就能求出你上面要求的最值点
syms X Y;
>> Y=0.000154*X^2 - 4.596*X+35948;
>> f=diff(Y,X);
>> solve(f);
>> vpa(ans,6)

ans =

14922.1
其中diff(Y,X)是对Y求一次导,得出的是极值,因为你这是个二次的,极值就是最值
对于其他高阶的,可以求两次导数。一次导数等于零的可能是拐点,极值点。求出其坐标,然后
代入二阶导数里,若大于零是极小值。小于零是极大值。然后比较几个极大值得出最大值。。。等等,这个再讨论
望采纳
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-02-26 19:19
如果想返回最值所在的位置,用[y,i]=max(data)极值: data是你的数据 find(diff(sign(diff(data)))==-2)+1 找到极大值的位置 find(diff(sign(diff(data)))==2)+1 找到极小值的位置 data(find(diff(sign(diff(data)))==-2)+1)和返回的分别是极大值和极小值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯