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

25.11.2011

Cкрипт для решения №818

Filed under: Maxima — Shine @ 10:25 дп

Всё-таки придётся там заменять производную х.

Пропишем зависимости:

(%i1) depends([x,y,z],t);

Result

Чтобы производные обозначались в программе коротко, а не как dx/dt:

(%i2) derivabbrev:true;

Result

Система

(%i3) eqns:[
diff(x,t,2)+diff(x,t)+diff(y,t)-2*y=0,
diff(x,t)-diff(y,t)+x=0];

Result

Обозначим список функций для дальнейшей автоматизации

(%i4) X:[x,y,z];

Result

и объявим, как мы ввели z:

(%i5) dop:diff(x,t)=z;

Result

Теперь начнём решать. Заменим производные в системе

(%i6) eqns,dop,diff(dop,t);

Result

дополним систему объявлением z и выразим производные явно

(%i7) append(%,[dop]);

Result

(%i8) diff(X,t);

Result

(%i9) eqns2:solve(%th(2),%);

Result

Сгенерируем матрицу А

(%i10) %th(2),eqns2;

Result

(%i11) makelist(ev(%,X[i]=1),i,1,3);

Result

(%i12) %,makelist(X[i]=0,i,1,3);

Result

(%i13) apply(matrix,%);

Result

(%i14) A:transpose(%);

Result

и найдём её собственные значения и векторы. В первом списке - список соб. значений и их кратностей, во втором -
собственных векторов.

(%i15) eigA:eigenvectors(A);

Result

Ответ:

(%i16) sum(C[i]*eigA[2][i][1]*exp(eigA[1][1][i]*t),i,1,3)-X;

Result

(%i17) solve(%,X);

Result

(%i18) otvet:expand(%);

Result

Проверка:

(%i19) ev(eqns,otvet);

Result

(%i20) %,diff;

Result

(%i21) radcan(%);

Result


Created with wxMaxima.

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

No comments yet.

RSS feed for comments on this post.

Leave a comment

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

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