作业帮 > 数学 > 作业

matlab高手看看怎么求这个函数的最大值

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/06/11 01:02:38
matlab高手看看怎么求这个函数的最大值
dy =0.000099261901556999720041760126854058*bbb^5 - 0.0023305907031025767622671451828609*bbb^4 - 0.025259643140202740069222286933837*bbb^3 + 0.81623253924995070596182245026284*bbb^2 - 3.6632601044075792096066379599506*bbb + 6.5229679256533339426482598355506
这是一个一元5次方程 我怎么求得 在1-20中的最大值
matlab高手看看怎么求这个函数的最大值
从图形来看,方程的最大值在x=10的附近用fminsearch()求得,x =10.9780883789063,y = 13.2348950693333函数定义:func=inline('-(0.000099261901556999720041760126854058*x^5 - 0.0023305907031025767622671451828609*x^4 - 0.025259643140202740069222286933837*x^3 + 0.81623253924995070596182245026284*x^2 - 3.6632601044075792096066379599506*x + 6.5229679256533339426482598355506)','x')
求最大值[x,g]=fminsearch(func,10)
x =
          10.9780883789063
g =
         -13.2348950693333
再问: 大哥 我刚才提问没说清楚 我这里是dy=diff(f_x,'bbb') 得到的dy也就是上面那个方程,然后我在命令窗口 我输入dy才得到的那个方程 ~~~~~~~我在下面编程 定义func时候 应该怎么提取这个dy呀 不可能复制呀 我这是检测一堆零件要用的~~~复制 换一个东西就不行了~
再答: 你这个问题,只能命令窗口中,得到你的最大值
ezplot(dy,[1 25]),grid on%显示
dy2=diff(dy);
s=vpa(solve(dy2));
bbb=real(s)
func=sym(dy);
bbb=10.978098035143505858176184739547,dy=eval(func)

bbb =
1.097809803514351e+001
y =
1.323489506936946e+001