matlab 四元函数,求其中三个未知数的值,使积分最小,

2025-01-20 01:06:23
推荐回答(1个)
回答1:

刚好昨天回答过这个问题(编号1049801690439997539)。

 

把A、B、C合并为一个向量t,定义关于t的匿名函数,然后用无约束优化函数fminunc求解即可。

 

参考代码:

>> f=@(t)quadl(@(x)(sin(x.^2)-t(1)-t(2)*x-t(3)*x.^2).^2,0,pi/2);
>> fminunc(f,[0; 0; 0],optimset('LargeScale','off'))
Optimization terminated: relative infinity-norm of gradient less than options.TolFun.
ans =
   -0.2139
    1.3433
   -0.3817

三个数依次为A、B、C。