Я хочу складывать столбцы матрицы в Maxima.Штабелирование столбцов матрицы в Maxima
Пример
b3: matrix(
[1,0,0],
[-a21,1,0],
[-a31,-a32,1]
);
Интересно, как складывать столбцы этой матрицы. Заранее благодарим за помощь и время.
Я хочу складывать столбцы матрицы в Maxima.Штабелирование столбцов матрицы в Maxima
Пример
b3: matrix(
[1,0,0],
[-a21,1,0],
[-a31,-a32,1]
);
Интересно, как складывать столбцы этой матрицы. Заранее благодарим за помощь и время.
Вот наивный способ сделать это:
c : transpose(b3);
transpose(append(c[0], c[1], c[2]));
и здесь более общий способ:
apply(append, map(lambda([r], transpose(b3)[r]), makelist(i,i,3)));
Или даже просто:
transpose(apply(append,args(transpose(b3))));
Спасибо @soegaard для вашего ответ. Я думаю, вы имеете в виду 'c: transpose (b3); транспонировать (добавить (c [1], c [2], c [3])); '. Это очень утомительно, если есть много столбцов. Я бы предпочел любой автоматизированный способ. В любом случае спасибо за ваш ответ (+1). – MYaseen208
@ MYaseen208 Более общий способ, который может быть тем, что вы ищете: apply (append, map (lambda ([r], transpose (b3) [r]), makelist (i, i, 3))); – soegaard
Спасибо за вашу помощь и проявили интерес к этой проблеме. Ваш новый код 'apply (append, map (lambda ([r], transpose (b3) [r]), makelist (i, i, 3)));' производит этот вывод '[1, -a21, -a31, 0,1, -a32,0,0,1], что не является требуемым выходом. Спасибо – MYaseen208