0
|
2601 Views
|
|
1 Total Likes
View groups...
Share
GROUPS:

# Extrapolation from the InterpolatingFunction produced by NDSolve

Posted 11 years ago
 Clear["Global'*"]; nut = 46; khi = 16; ro2 = 3400; kmrs = 4; kisu = 1.5; kmp = .5; kres \ = 25; kccc1 = 38; k23 = 16; kvp = .04; kc = 21; nc = 5; km1 = 24; nm1 = 3; km2 = 45; nm2 = 4; kv1 = 17; nv1 = 6; kv2 = 200; nv2 = 4; k32 = 18; \ n32 = 9; a = .5; odec = -(a c[t]) - (    kccc1 c[t] (1 - 1/((c[t]/kv1)^nv1 + 1)))/((f3[t]/kv2)^nv2 + 1) - (    kmrs c[t])/((fm[t]/km2)^nm2 + 1) + (khi nut)/((c[t]/kc)^nc + 1);odefm = -(a fm[t]) + (kmrs c[t])/((fm[t]/km2)^nm2 + 1) - kisu fm[t] -    kmp fm[t] o2[t];odefs = kisu fm[t] - a fs[t];odemp = kmp fm[t] o2[t] - a mp[t];odeo2 = -(kmp fm[t] o2[t]) - kres fs[t] o2[t] +    ro2/((o2[t]/245)^9 + 1);odef2 = -(a f2[t]) - k23 f2[t] (1 - 1/((c[t]/k32)^n32 + 1)) + (   kccc1 c[t] (1 - 1/((c[t]/kv1)^nv1 + 1)))/((f3[t]/kv2)^nv2 + 1);odef3 = -(a f3[t]) + k23 f2[t] (1 - 1/((c[t]/k32)^n32 + 1)) -    kvp f3[t];odevp = kvp f3[t] - a vp[t];vars = {c[t], f2[t], f3[t], fm[t], fs[t], mp[t], o2[t], vp[t]};solution =   NDSolve[{Derivative[1][c][t] == odec, Derivative[1][f2][t] == odef2,     Derivative[1][f3][t] == odef3, Derivative[1][fm][t] == odefm,     Derivative[1][fs][t] == odefs, Derivative[1][mp][t] == odemp,     Derivative[1][o2][t] == odeo2, Derivative[1][vp][t] == odevp,     c[0] == 30, f2[0] == 100, f3[0] == 100, fm[0] == 50, fs[0] == 50,     mp[0] == 0, o2[0] == 100, vp[0] == 100}, vars, {t, 0, 31}];varsvars /. solution /. t -> 500I am curious about the extrapolation "error" that is produced when I go  beyond the range of the interpolating function window. When I stay within the interpolating function, (expanding the window from {t, 0, 31} to say 1000) and go out to the limit of the window I produce the same values at the plateau around t=30. Are the extrapolated values I am getting from the interpolation function solutions viable? Is there a way to evaluate the error on these values?