首页 > 编程知识 正文

matlab中找最大值的函数,matlab中求函数的最大值

时间:2023-05-05 16:57:51 阅读:259030 作者:325

学习MATLAB请关注这里:MATLAB实例系列教程

问题:在线,急需matlab求函数最大值_

问题描述:小弟刚学matlab,很多不会。需求 f = (200+5*x)*(0.65-

x*0.01)-x*0.45; x;0的最大值一定要用matlab哦,步骤详细点哦,谢

谢啦!!

答案1:: 楼上的方法也行,但不是很通用,需要确定搜索范围,而

我们一般也不知道极值点在哪个范围,因此有一定的缺陷。楼上的方

法偏向于数值迭代计算,工程上使用较多,特别适于没有解析解的情

况。

syms x

f=(200+5*x)*(0.65-x*0.01)-x*0.45;

s=diff(f);%一阶导数

s2=diff(f,2);%二阶导数

h=double(solve(s));%一阶导数为零的点可能就是极值点,注意是可

能,详情请见高数课本

for i=1:length(h)

if subs(s2,x,h(i))<0

disp(['函数在' num2str(h(i)) '处取得极大值,极大值为'

num2str(subs(f,x,h(i)))])

elseif subs(s2,x,h(i));0

disp(['函数在' num2str(h(i)) '处取得极小值,极小值为'

num2str(subs(f,x,h(i)))])

else

disp(['函数在' num2str(h(i)) '处二阶导数也为0,故在该

点处函数可能有极大值、极小值或无极值'])%%%详情见高数课本

end

end

提问者的评价:谢谢啊!!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。