Как создать полином для функции двух переменных с помощью python?

У меня есть две переменные - T1 и T2 - и их значения. Например:

T1=[300,400,500,600,650,700]
T2=[300,400,500,600,700,800]

И я знаю значения переменной Z для каждого T1, T2 из приведенного выше примера (значения Z я получил из эксперимента). Итак, у меня есть матрица значений Z 6x6 (я знаю Z для значений T1 = 300, T2 = 300, Z для значений T1 = 300, T2 = 400 и т. д.). Таким образом, мы можем сказать, что Z является функцией двух переменных - T1 и T2. - Z=F(T1,T2)

Я могу получить полином из EXCEL для Z=F(T1,T2), если одна из переменных (T1 или T2) фиксирована. Например:

Z(T1=300,T2)=a + b*T2+c*T2^2+d*T2^3+e*T2^4 Z(T1,T2=300)=f + g*T1+h*T1^2

Можете ли вы показать мне правильный код на питоне, который я могу использовать для получения полинома для этой функции двух переменных. Я думаю, что он должен вычислять коэффициенты многочлена. Например:

Если результирующий полином имеет следующий вид: P(T1,T2)= a + b*T2+c*T2^2+d*T2^3+e*T2^4 + g*T1+h*T1^2, скрипт python должен вычислить значение коэффициентов a,b,c,d,e,g,h.


person Denis Plotnikov    schedule 03.06.2020    source источник
comment
Просто чтобы убедиться, что я понимаю. У вас есть функция (данные) двух переменных (T1,T2), и вы хотите подогнать к этой функции двумерный полином?   -  person liorr    schedule 04.06.2020


Ответы (1)


В основном вы ищете способ использовать polyfit, но для двумерного массива. Вы должны использовать оптимизацию методом наименьших квадратов (np.linalg.sltsq). Первый ответ здесь - это именно то, что вы ищете. за.

person Binyamin Even    schedule 03.06.2020