MATLAB 定积分上限是变量a,如何求解目标函数关于变量a的最大值?谢谢
如何目标函数除了包含定积分,还包括其他关于a的非线性函数,如第二个函数所示,请问如何求解??感谢!!...
如何目标函数除了包含定积分,还包括其他关于a的非线性函数,如第二个函数所示,请问如何求解??感谢!!
展开
1个回答
展开全部
无约束极值问题,求原积分的最大值等效为求其相反数的极小值
>> fun=@(x)0.82*0.49*exp(6.72-47.7./x).*exp(-0.05*x); % 被积函数
>> f = @(a) integral(fun,0.01,a); % 定积分
>> obj = @(x) -f(x); % 定积分的相反数作为要求极小值的目标函数
>> [a,val] = fminsearch(obj,1) % 无约束极值
a =
938.5500
val =
-7.430055148537375e+02
最后结果表明在a=938.55时,f(a)取最大值743.0055148537375
实际上,根据被积函数的图像可知,这个定积分即下图与坐标轴围成的面积是递增的,只不过当a达到一定值后,变化较小了
例如,当a=938和a=1000时,f(a)的差异微乎其微:
>> f(968)-f(1000)
ans =
1.298076313105412e-09
更多追问追答
追问
真的非常感谢!我被这个问题折磨了好几天,百思不得其解,自己太菜鸟了。
我刚刚补充了一下问题:如何目标函数除了包含定积分,还包括其他关于a的非线性函数,如第二个函数所示,请问如何求解??太感谢您啦!!多有打扰!!
追答
你后面补充的式子,那个求和并不是直接定积分啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询