Получить дифференциальное уравнение производной

У меня есть дифференциальное уравнение, которое выглядит так:

dT/dx = (1+alpha\*M1)\*(T^2)\*S(x) - 4\*(2+gamma\*M2)\*x\*T

Я хочу дифференцировать это уравнение, скажем, по alpha. Однако T зависит от alpha. Как мне получить дифференциальное уравнение, которое включает производную dT/da, чтобы я мог решить ее (используя ode45 или что-то еще)?

Примечание: я не могу дифференцировать уравнение вручную, так как мне нужно будет сделать это и для Ys, где у меня нет простой аналитической функции.

Мой код до сих пор:

syms L alpha gamma Y2 Y3 Y4 Y5 Y6 x T X

M1 = 0;
M2 = 7;
Y1 = 1 + M2 / 10;
Y7 = 3 + M1 / 10;
xcp = [0 0.1*L 0.25*L 0.5*L 0.6*L 0.75*L L];
ycp = [Y1 Y2 Y3 Y4 Y5 Y6 Y7];
T0 = 5 + 1/L - 25/(L^2);
S = bezier_syms(); % Assume this returns a function of L,x,Y2,Y3,Y4,Y5,Y6

ode = diff(T,x) == (1+alphaM1)*(T^2)*S(L,x,Y2,Y3,Y4,Y5,Y6) - 4*(2 + gamma*M2)xT;

person GiaFil7    schedule 20.12.2020    source источник
comment
Вам нужно будет определить T как функцию альфы. Я думаю, это что-то вроде syms T(alpha).   -  person Cris Luengo    schedule 20.12.2020
comment
@CrisLuengo Это начало, но на этом я далеко не продвинулся. Ни ode45, ни dsolve, похоже, не нравятся   -  person GiaFil7    schedule 20.12.2020


Ответы (1)


Учитывая уравнение

dT/dx = F(x,T,a)

и U=dT/da, то по правилам дифференцирования типа цепного правила получается

dU/dx = dF/da(x,T,a) + dF/dT(x,T,a)*U

где частные производные легко найти. Более точные формулы см. на странице https://math.stackexchange.com/a/3699281/115115.

person Lutz Lehmann    schedule 21.12.2020