Определение особых точек. Вариация и дифференцирование
Процедура дифференцирования по t любого порядка
| > | Dif:=proc(x,i) if i=0 then x else diff(x,t$i) fi end: |
| > | with(PDEtools,declare):declare(x(t)); |
Максимальный порядок
| > | N:=1: c:=1:b:=14:a:=5:Порядок:={0,3};x1:=4: A:=Matrix(N+1): |
Уравнение
| > | eq:=diff(x(t),t$2)*b*x(t)+a*diff(x(t),t)^2+c*x(t)^2; D(a):=0:D(b):=0:D(c):=0: |
Вариация
Вариация производных уравнения по времени порядка от 1 до N
| > | for k to N do z[k+1]:=D(diff(eq,t$k)):od: |
Порядок искомых производных (для уравнения 2 порядка)
| > | SET:={seq(j,j=0..N+2)} minus Порядок: |
Заполнение матрицы
| > | A[i,j]:=coeff(z[i],D(Dif(x(t),SET[j]))): |




Подставляем даные и находим х
| > | evalf(solve(subs(diff(x(t),t)=x1,Dtr),x(t))); |
