matlab解带参数的积分方程组,方程组求解问题:方程组中有带参数的积分函数,求参数...
吳老師,您好!請教您一個問題。
我想求下面方程組的解:
quadl(@(x) exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-1;
quadl(@(x) x.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m1;
quadl(@(x) x.^2.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m2;
quadl(@(x) x.^3.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m3;
quadl(@(x) x.^4.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m4;
其中m1=0.0177;m2=1.0494;m3=0.0448;m4=3.4693;
(積分上下限本來是正負無窮大,這里用足夠大的數代替的)
要求a參數的值,我寫了以下的代碼求解:
function l=shuju()
a0=[0,0,0,-0.002,-0.000207];
[a,fvar]=fsolve(@f,a0);
function F=f(a)
m1=0.0177;
m2=1.0494;
m3=0.0448;
m4=3.4693;
F=[quadl(@(x)exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-1;
quadl(@(x)x.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m1;
quadl(@(x)x.^2.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m2;
quadl(@(x)x.^3.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m3;
quadl(@(x)x.^4.*exp(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4),-100,100)-m4];
end
a
fvar
end
但是運行出來的結果一直不是很正確,可能是問題非常依賴與初值的選取吧,會出現:
Maximum function count exceeded; singularity likely.
或者:Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.
而且改變上下限積分后經常會出現積分為零的情況。
不知道吳老師對于這種問題有沒有什么好的建議或者經驗。是不是只能通過改變初值來進行試探的求解?或者是不是有更好的方法或者函數可以使用,不知道quadl是不是適合這種問題。
我把方程組轉換為優化問題求解,目標函數設定為五個方程的平方和,然后用fmincon求解,出來結果顯示:
Optimization terminated: first-order optimality relative error
less than options.TolFun, and relative constraint violation less
than options.TolCon.
但是不論我怎么減小TolFun的值,最后的函數值還是很大,沒有收斂。優化方法采用內點法和Active-set方法都是這樣。
如果老師有什么建議或者好的想法情不吝賜教,非常感謝!
總結
以上是生活随笔為你收集整理的matlab解带参数的积分方程组,方程组求解问题:方程组中有带参数的积分函数,求参数...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光大嘉人香水信用卡金卡额度多少
- 下一篇: matlab程序聚类预测机器学习