Имеем 5 табличных функций q=f(R), построенных для разных L (0.125, 0.25, 0.5, 0.75 и 1.0))
...
Требуется аппроксимировать их одной зависимостью q=f(R, L).
А Вас не смущает тот факт, что все первые пять точек для одних и тех же x и y дают разные z? Это же надо очень постараться, чтобы достойно аппроксимировать такую неоднозначность...
Вот если выкинуть эти первые точки, то легко получится даже не аппроксимация, а интерполирующий полином, с вполне нормальными отклонениями:
Код:
data = Join[Rest[q125], Rest[q250], Rest[q500], Rest[q750], Rest[q1000]];
data0 = Table[{{data[[i]][[1]], data[[i]][[2]]}, data[[i]][[3]]}, {i, Length[data]}];
poly = InterpolatingPolynomial[data0, {x, y}]
(poly /. # & /@ (Rule @@@ Transpose[{{x, y}, #}] & /@ (Most[#] & /@ data))) - (Last[#] & /@ data)
Variance[(poly /. # & /@ (Rule @@@ Transpose[{{x, y}, #}] & /@ (Most[#] & /@ data))) - (Last[#] & /@ data)]
Мне конечно сложно судить, не зная Вашей изначальной задачей, но вид двумерных зависимостей наталкивает на сомнения в необходимости вообще какой-то трехмерной аппроксимации. По мне так это просто некая двумерная параметрическая зависимость, причем больше даже похожа на экспоненциальную, нежели на полиномиальную. Да и выглядит двумерное нагляднее, "читабельней". Но это конечно мое сугубо личное мнение.