Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 15, 2009 09:21:20

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Собрать матрицу из диагоналей.

Добрый день.
В общем есть последовательность с цифрами. Надо собрать из нее матрицу так, чтобы в ее диагоналях были значения == соответствующему элементу списка/на кол-во элементов в диагонали. Проще показать, чем объяснить:

Есть последовательность и пусть матрица должна быть 4x3, тогда получаем:
[


]
Я допер только до такого варианта:
"""
raws_num, coll_num -- количество строк и столбцов в матрице, соответственно.
diag_sums -- выше озвученная последовательность.
diag_num -- количество элементов в каждой из диагоналей.
"""
from numpy import array, vstack
diag_list = []
for i in xrange(min(raws_num, coll_num)):
diag_list.append([diag_sums[j] / diag_num[j]
for j in xrange(0 + i, max(raws_num, coll_num) + i)])
if raws_num < coll_num:
diag_list.reverse()
matrix_of_diag = array(diag_list)
else:
[diag_list[i].reverse() for i in xrange(len(diag_list))]
matrix_of_diag = vstack(diag_list).transpose()
Но он какой то шибко сложный, слишком много телодвижений…

Может кто нибудь другой вариант подскажет?



Отредактировано (Ноя. 15, 2009 15:02:33)

Офлайн

#2 Ноя. 15, 2009 14:11:14

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Собрать матрицу из диагоналей.

а если в последовательности будет 3 простых числа?



Отредактировано (Ноя. 15, 2009 14:11:47)

Офлайн

#3 Ноя. 15, 2009 14:59:06

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Собрать матрицу из диагоналей.

Спасибо, упомянуть забыл.
При составлении последовательности все ее элементы принудительно приводятся к вещественному типу. Так что в итоге получим матрицу 2х2 с дробными значениями.



Офлайн

#4 Ноя. 16, 2009 17:24:22

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Собрать матрицу из диагоналей.

матрицы уже обсуждались … порыскав по форуму думаю найдешь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version