题目:确定高精度参数问题 假设有一个生态系统,其中含有两种生物,即: A生物和B生物,其中A生物是捕食者,B生物是被捕食者。假设
初始条件为:
其中 通过对此生态系统的观测,可以得到相关的观测数据。观测数据的格式依次为: 观测时刻 二:请利用有关数据,解决以下问题: 1) 在观测数据无误差的情况下,若已知 2) 在观测数据无误差的情况下,若 3) 在观测资料有误差(时间变量不含有误差)的情况下,请分别利用观测数据DATA2.TXT和DATA3.TXT,确定参数 4) 假设连观测资料的时间变量也含有误差,试利用数据DATA4.TXT,建立数学模型,确定参数 (1) 由题意
其中,
该微分方程解为: 利用data1.txt 0 10. 60. 0.1 11.750840650304518 0.1374480266382216 0.2 3.4133367257849176 7.108705996120129 0.30000000000000004 20.80921881438798 0.4251595082899424 0.4 5.231982481945481 0.7182384931413827 0.5 26.925221604818102 26.706603701525214 得到: 将t=0.1,0.2,0.3,0.4时的x(t),y(t)数据代入得: A=zeros(5,3); A(1,1)=log(0.1374480266382216/60); A(1,2)=-log(11.750840650304518 /10); A(1,3)=10-11.750840650304518 ; A(2,1)=log(7.108705996120129/60); A(2,2)=-log( 3.4133367257849176/10); A(2,3)=10-3.4133367257849176; A(3,1)=log( 0.4251595082899424/60); A(3,2)=-log( 20.80921881438798/10); A(3,3)=10-20.80921881438798 ; A(4,1)=log( 0.7182384931413827/60); A(4,2)=-log( 5.231982481945481 /10); A(4,3)=10- 5.231982481945481 ; A(5,1)=log(26.706603701525214/60); A(5,2)=-log(26.925221604818102/10); A(5,3)=10-26.925221604818102; b=-[0.1374480266382216-60. ,7.108705996120129-60., 0.4251595082899424-60., 0.7182384931413827-60, 26.706603701525214-60]';
[ -10.000067799756287514] [ 60.002089116073604142] [ -5.0002118475010526008] (3) a=0.2*x
[ -2.0000135599512575028000000000000] [ 12.000417823214720828400000000000] [ -1.0000423695002105201600000000000]
5位有效数字下的参数值为 [ -2.0000] [ 12.000] [ -1.0000] (4)
(2)如果 令 function dx=fun4(t,x) dx=[x(1)*(-10.000067799756287514+x(2));x(2)*(60.002089116073604142-5.0002118475010526008*x(1))]; [T,X]=ode45('fun4',[0:0.0001:0.75],[10;60]); [T,X]; x0=[11.750840650304518 , 3.4133367257849176,5.231982481945481 ]; for k=1:15 xx=X([k+1410,2*(k+1410),4*(k+1410)],:); sx(k)=(xx(1)-x0(1))^2+(xx(2)-x0(2))^2+(xx(3)-x0(3))^2; end;
[ .17718032001520018365e-1, .12082716359257807820e-1, .75397145717927488776e-2, .40765988511500756211e-2, .16810301001388846219e-2, .34075674228936804868e-3, .43613571180803200223e-4, .77752061912388591679e-3, .25304820451909760919e-2, .52905850425689010877e-2, .90459987652286542870e-2, .13784973273885125361e-1, .19495838501259167563e-1, .26167003236613261413e-1, .33786954129557893178e-1] 分析x(
y0=[ 0.1374480266382216, 7.108705996120129,0.7182384931413827]; for k=1:15 xx=X([k+1410,2*(k+1410),4*(k+1410)],:); sy(k)=(xx(4)-y0(1))^2+(xx(5)-y0(2))^2+(xx(6)-y0(3))^2; end; vpa(sy,10) [ .1312494859, .9202878850e-1, .5949356599e-1, .3383310209e-1, .1524064395e-1, .3913477041e-2, .5300141002e-4, .3864809109e-2, .1555876298e-1, .3534907678e-1, .6345439660e-1, .1000978837, .1455072989, .1999150879, .2635584689] 分析y( 当 综合两者结果,取 a=1.416*x [ -14.160096004454903119824000000000] [ 84.962958188360223465072000000000] [ -7.0802999760614904827328000000000] vpa(a,5) [ -14.160] [ 84.963] [ -7.0803] |