本帖最后由 maplev12 于 2011-4-16 23:25 编辑
已知关于t,x(t),p(t)的微分方程组eq1,eq2,以及一组数据t1,x1,p1,求参数A,B,p0,a,拟合已知的这组数据,使数值解的残差最小。方程组及数据如下:
- eq1 := diff(x(t), t) = 2*A*(sinh(p(t)+q*x(t))-x(t)*cosh(p(t)+q*x(t))):
- eq2 := diff(p(t), t) = -2*B*(p0*sinh(a*x(t))+p(t)*cosh(a*x(t))):
- t1:=[1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009]:
- x1:=[0.196462844,0.23113261,0.239836251,0.254280917,0.282074055,0.303702732,0.314438263,0.316017811,0.259551387,0.241967162,0.256846413,0.300113175,0.369964846,0.353602032,0.329298272,0.321924659,0.315817924,0.33655726,0.332913476,0.331782975,0.339368402,0.361496949,0.409111121,0.440819131,0.480019876,0.508510525,0.516623829,0.550329299,0.659601287]:
- p1:=[0.052431095,0.090568707,0.108529793,0.151760212,0.134661926,0.088463767,0.115832638,0.112805837,0.040632032,0.038390249,0.091789367,0.142407064,0.139643147,0.130806818,0.109249803,0.100085234,0.092970338,0.078333469,0.076198357,0.084312795,0.083003176,0.09082068,0.100253788,0.100850399,0.113100352,0.126765342,0.14162395,0.096346682,0.091130745]:
复制代码 |