There are many problems in your data fitting file. First of all you have posted that question over and over again. You should consider only posting the same question once.
One of the problems is that in the 18th entry in your Dataimp1 import is different from all the others. It has the form {136., 480, 13, 33} which is different from the three entries that all other data points have. You can fix this by:
dataimp = Dataimp1 /. Dataimp1[[18]] -> {136., 480, 13.33}
Also you haven't given values for Va and Vb, and you are not estimating them either. This is why it returns that there is a non-numerical value.
If you use
Dataimp1 = {{195.`, 1.`, 452.`}, {256.`, 1.`, 251.`}, {237.`, 1.`,
1997.`}, {216.`, 30.`, 890.`}, {260.`, 30.`, 893.`}, {233.`, 30.`,
900.`}, {193.`, 60.`, 171.`}, {224.`, 60.`, 2157.`}, {206.`,
60.`, 2298.`}, {179.`, 120.`, 4384.`}, {222.`, 120.`,
7875.`}, {210.`, 120.`, 6771.`}, {171.`, 240.`, 9580.`}, {219.`,
240.`, 12168.`}, {197.`, 240.`, 11947.`}, {134.`, 480.`,
7413.`}, {180.`, 480.`, 9500.`}, {136.`, 480.`, "13,33"}, {164.`,
720.`, 20193.`}, {204.`, 720.`, 22600.`}, {191.`, 720.`,
23202.`}, {191.`, 1440.`, 14014.`}, {245.`, 1440.`,
16983.`}, {214.`, 1440.`, 20594.`}, {831.`, 1.`, 9786.`}, {915.`,
1.`, 13197.`}, {915.`, 1.`, 11993.`}, {754.`, 30.`,
959.`}, {831.`, 30.`, 2745.`}, {880.`, 30.`, 1661.`}, {694.`,
60.`, 4630.`}, {854.`, 60.`, 5774.`}, {814.`, 60.`,
11993.`}, {766.`, 120.`, 22626.`}, {807.`, 120.`,
12194.`}, {817.`, 120.`, 17209.`}, {701.`, 240.`,
24632.`}, {817.`, 240.`, 32055.`}, {804.`, 240.`,
30651.`}, {593.`, 480.`, 18814.`}, {639.`, 480.`,
21222.`}, {638.`, 480.`, 19215.`}, {720.`, 720.`,
27842.`}, {811.`, 720.`, 37873.`}, {785.`, 720.`,
34663.`}, {800.`, 1440.`, 44293.`}, {882.`, 1440.`,
48907.`}, {850.`, 1440.`, 51314.`}, {4510.`, 1.`,
73514.`}, {5070.`, 1.`, 33390.`}, {5230.`, 1.`, 84949.`}, {4540.`,
60.`, 6307.`}, {4650.`, 60.`, 5103.`}, {4220.`, 120.`,
32387.`}, {4540.`, 120.`, 51847.`}, {5090.`, 120.`,
81137.`}, {4460.`, 240.`, 25165.`}, {4670.`, 240.`,
67696.`}, {4590.`, 240.`, 70103.`}, {3380.`, 480.`,
9316.`}, {3660.`, 480.`, 4501.`}, {5360.`, 720.`,
68498.`}, {5440.`, 720.`, 76122.`}, {4310.`, 720.`,
83545.`}, {4740.`, 1440.`, 122866.`}, {4790.`, 1440.`,
130890.`}, {4810.`, 1440.`, 138915.`}};
Then correct for the wrong entry:
dataimp = Dataimp1 /. Dataimp1[[18]] -> {136., 480, 13.33}
Then add the Va and Vb values - which I made up to make it work:
ClearAll[Vmax, Km, fit, Cb0, fuc, Pdiff, te, Model30]; Va = 0.1; Vb = \
0.1;
Model30[Vmax_?NumericQ, Km_?NumericQ, fuc_?NumericQ, Pdiff_?NumericQ,
Cb0_?NumericQ,
te_] := (Model30[Vmax, Km, fuc, Pdiff, Cb0] =
Ca[te] /.
First[NDSolve[{
Ca'[t] == ((Vmax Cb[t])/(Km + Cb[t]) - Pdiff fuc Ca[t] +
Pdiff Cb[t])/Va,
Cb'[t] == (Pdiff fuc Ca[t] -
Pdiff Cb[t] - (Vmax Cb[t])/(Km + Cb[t]))/Vb,
Ca[0] == 0,
Cb[0] == Cb0 },
{Ca, Cb}, {t, 0, 1440}, MaxSteps -> 100000,
PrecisionGoal -> \[Infinity]]]);
and then fit:
fit = NonlinearModelFit[dataimp, {Model30[Vmax, Km, fuc, Pdiff, Cb0, te]}, {{Vmax, 0.05}, {Km, 210}, {fuc, 0.05}, {Pdiff, 0.0000031}}, {Cb0, te},
Weights -> (1./#3 &)]
You get lots of warnings but it does fit something. It is difficult to tell whether that is close to what you want, because I needed to make numbers up and modified the data.
I had looked at the problem before, but it is not quite clear what you want/need.
Cheers,
M.