Проблема с мнимой частью…

Форум пользователей пакета Mathematica

Модератор: Admin

rroommaann
Сообщения: 18
Зарегистрирован: Чт ноя 04, 2010 1:28 pm

Проблема с мнимой частью…

Сообщение rroommaann » Ср ноя 10, 2010 1:55 pm

Вот к примеру определяем определитель следующей матрицы:
K={{a11+j b11,a21+j b21,a31+j b31},{a12+j b12,a22+j b22,a32+j b32},{a13+j b13,a23+j b23,a33+j b33}};
KK=Det[K]

В выражении определителя KK будет присутствовать как действительные части (без j) так и мнимые (с j)… когда решаю данное выражение в числах никаких проблем нет

Re[KK] - действительная часть;
Im[KK] - мнимая часть;

Все очень просто и удобно, можно продолжать расчет без проблем…

Но тут появилась задача получить конкретное выражение формул для Ka и Kr:

Ka = Re[KK]
Kr = Im[KK]

KK=Ka+j*Kr

Я до сих пор получал данные формулы в ручную, но теперь я дошел до огромадного определителя… потратил весь день на отделение мнимой части от действительной, сделал только половину работы, и наткнулся на ошибку, а так как формула получилась длинной "в километр" ошибку найти не смог, приходиться проделывать все заново…
Помогите автоматизировать получение данных формул…

Gordon
Сообщения: 300
Зарегистрирован: Вт сен 08, 2009 8:16 pm

Сообщение Gordon » Ср ноя 10, 2010 2:39 pm

Код: Выделить всё

K = {{a11 + I b11, a21 + I b21, a31 + I b31}, {a12 + I b12,
    a22 + I b22, a32 + I b32}, {a13 + I b13, a23 + I b23,
    a33 + I b33}};
KK = Det[K]
Ka = Re[KK];
Kr = Im[KK];
ComplexExpand[Ka+I Kr]

будет верно при условии, что все a_, b_ - вещественные числа.

rroommaann
Сообщения: 18
Зарегистрирован: Чт ноя 04, 2010 1:28 pm

Сообщение rroommaann » Ср ноя 10, 2010 7:17 pm

Как все просто:
Ka = Re[KK] // ComplexExpand;
Kr = Im[KK] // ComplexExpand;
Спасибо большое!!!

Я уже решил эту проблему… немного сложнее ТО КАК НАДО РЕШАТЬ, а через пень колоду… следующим образом:

Взял выражение определителя KK (в котором присутствуют как мнимые части так и действительные)… скопировал в отдельный документ (или как выражается математика notebook), а далее с помощью сочетания клавиш Ctrl+f произвел замену J на 0 (предварительно скопировав J в буфер обмена) после упрощения я получил выражения для Ka, а выражение для мнимой части получил через формулу:
Kr=(KK-Ka)/j//Expand
Через пень колоду правда, но зато безошибочно и намного быстрее, прям за пару минут сделал то, что делал весь день, при этом ошибся и результата не получил - день прожит зря