Processing math: 100%

Страница сетевой поддержки учеников Тимура Юрьевича Альпина

15.11.2021

Cкрипт для решения №826 из Филиппова

Filed under: Maxima — Shine @ 9:05 пп

С последней публикации в этом разделе прошло без десяти дней десять лет. Что ж, можно возобновить.


(%i1)

sys:[
   diff(x,t)=y+2·exp(t),
   diff(y,t)=x+t^2
];

(sys)[ddtx=y+2%et,ddty=x+t2]

Система объявлена, можем начинать решать. Сначала выделим однородную систему


(%i2)

sys,x=0,y=0;

[0=2%et,0=t2]


(%i3)

sys%;

[ddtx=y,ddty=x]


(%i4)

%,x=x0,y=y0;

[ddtx0=y0,ddty0=x0]


(%i5)

osys:%$

Выделим правые части


(%i6)

map(rhs,osys);

[y0,x0]

составим матрицу коэффициентов


(%i7)

coefmatrix(%,[x0,y0]);

(0110)

и найдём её собственные значения и векторы


(%i8)

eigenvectors(%);

[[[1,1],[1,1]],[[[1,1]],[[1,1]]]]

Тут первый элемент состоит из списка собственных чисел и их списка кратностей, а второй — это список наборов независимых собственных векторов, принадлежащих каждому из собственных значений. Соорудим из полученного решения однородной системы:


(%i9)

C[1]·%[2][1][1]·exp(%[1][1][1]·t)+
C[2]·%[2][2][1]·exp(%[1][1][2]·t)
;

[C2%et+C1%et,C2%etC1%et]


(%i10)

[x0=%[1],y0=%[2]];

[x0=C2%et+C1%et,y0=C2%etC1%et]


(%i11)

ois:%$

Теперь выделим первую из неоднородных систем — с экспонентой:


(%i12)

sys,t^2=0;

[ddtx=y+2%et,ddty=x]


(%i13)

%,x=x1,y=y1;

[ddtx1=y1+2%et,ddty1=x1]


(%i14)

nsys:%$

Так как γ — корень кратности 1, общий вид решения запишем так:


(%i15)

nis11:[
   x1=(a·t+b)·exp(t),
   y1=(c·t+d)·exp(t)
];

(nis11)[x1=(at+b)%et,y1=(ct+d)%et]

Подставим решение в таком виде в соответствующую систему


(%i16)

nsys,nis11;

[ddt((at+b)%et)=(ct+d)%et+2%et,ddt((ct+d)%et)=(at+b)%et]

произведём дифференцирование, сократим на экспоненту и раскроем скобки


(%i17)

%,diff;

[(at+b)%et+a%et=(ct+d)%et+2%et,(ct+d)%et+c%et=(at+b)%et]


(%i18)

%/exp(t);

[%et((at+b)%et+a%et)=%et((ct+d)%et+2%et),%et((ct+d)%et+c%et)=at+b]


(%i19)

expand(%);

[at+b+a=ct+d+2,ct+d+c=at+b]

Эти уравнения должны соблюдаться тождественно, в том числе при t=1 и t=0. Подставим эти значения, полученные системы объединим в одну и решим, найдя коэффициенты:


(%i20)

[ev(%,t=0),ev(%,t=1)];

[[b+a=d+2,d+c=b],[b+2a=d+c+2,d+2c=b+a]]


(%i21)

flatten(%);

[b+a=d+2,d+c=b,b+2a=d+c+2,d+2c=b+a]


(%i22)

solve(%,[a,b,c,d]);

solve: dependent equations eliminated: (4)

[[a=1,b=%r1+1,c=1,d=%r1]]

Подставим эти коэффициенты в решение, зададим значение произвольных параметров и сохраним полученное на будущее:


(%i23)

nis11,%;

[x1=(t+%r1+1)%et,y1=(t+%r1)%et]


(%i24)

%,%r1=0;

[x1=(t+1)%et,y1=t%et]


(%i25)

nis1:%$

Теперь решим вторую неоднородную систему, с квадратом:


(%i26)

sys,exp(t)=0;

[ddtx=y,ddty=x+t2]


(%i27)

%,x=x2,y=y2;

[ddtx2=y2,ddty2=x2+t2]


(%i28)

nsys2:%$

Решение будем искать в виде полиномов второй степени:


(%i29)

nis21:[
   x2=a·t^2+b·t+c,
   y2=d·t^2+e·t+f
];

(nis21)[x2=at2+bt+c,y2=dt2+et+f]

Процесс нахождения коэффициентов аналогичен таковому для первой неоднородной системы.


(%i30)

nsys2,nis21;

[ddt(at2+bt+c)=dt2+et+f,ddt(dt2+et+f)=at2+t2+bt+c]


(%i31)

%,diff;

[2at+b=dt2+et+f,2dt+e=at2+t2+bt+c]


(%i32)

[ev(%,t=0),ev(%,t=1)];

[[b=f,e=c],[b+2a=f+e+d,e+2d=c+b+a+1]]


(%i33)

flatten(%);

[b=f,e=c,b+2a=f+e+d,e+2d=c+b+a+1]


(%i34)

solve(%,[a,b,c,d,e,f]);

[[a=%r2,b=%r3,c=%r3+3%r212,d=%r3+%r2+12,e=%r3+3%r212,f=%r3]]


(%i35)

nis21,%;

[x2=%r2t2+%r3t+%r3+3%r212,y2=(%r3+%r2+1)t22+(%r3+3%r21)t2+%r3]


(%i36)

%,%r2=0,%r3=0;

[x2=12,y2=t22t2]


(%i37)

nis2:%$

Наконец, сложим общее решение однородной системы и два частных решения неоднородных, и получим ответ:


(%i38)

[
   x=x0+x1+x2,
   y=y0+y1+y2
];

[x=x2+x1+x0,y=y2+y1+y0]


(%i39)

%,ois,nis1,nis2;

[x=(t+1)%et+C2%et+C1%et12,y=t%et+C2%etC1%et+t22t2]

Комментариев нет »

No comments yet.

RSS feed for comments on this post.

Leave a comment

Для отправки комментария вам необходимо авторизоваться.

Хостингом угостил Вадим "Moose" Калинников