Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 8, 2007 17:08:03

rasser_depressnjak
От:
Зарегистрирован: 2006-12-12
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

matrix has python or python

продолжим с матрицами, с использованием слегка прояснилось, а вот с реализацией библиотек замутнилось
пример на перемножение матриц в маткаде( на прикрепленом рисунке ) все работает
та же конструкция с питоне
сбоит - с чебо бы это…

исходный код :
import random
from numpy import *


a1 = array([, , ])
print “a1= ”,a1

b1 = array([, ])
print “b1= ”,b1

c=multiply(a1, b1)

Ругань пайтона:
a1= [

]
b1= [
]
Traceback (most recent call last):
File “C:\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py”, line 307, in RunScript
debugger.run(codeObject, __main__.__dict__, start_stepping=0)
File “C:\Python24\Lib\site-packages\pythonwin\pywin\debugger\__init__.py”, line 60, in run
_GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
File “C:\Python24\Lib\site-packages\pythonwin\pywin\debugger\debugger.py”, line 631, in run
exec cmd in globals, locals
File “C:\Python24\03.py”, line 11, in ?
c=multiply(a1, b1)
ValueError: shape mismatch: objects cannot be broadcast to a single shape
>>>



Отредактировано (Авг. 8, 2007 17:08:38)

Офлайн

#2 Авг. 8, 2007 17:18:47

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

matrix has python or python

А ты попробуй приведенные матрицы в маткаде перемножить, и увидешь, что питон вполне правильно ругается.



Офлайн

#3 Авг. 8, 2007 17:50:14

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

matrix has python or python

rasser_depressnjak
c=multiply(a1, b1)
Нужно просто читать документацию, тогда ничего замутняться не будет. Еще желательно знать терминологию на английском. То что ты хочешь получить, буржуи называют “Dot product”

numpy.multiply перемножает матрицы поэлементно, тебе нужен numpy.dot

In [17]: a1 = array([[1.1, 4], [2, 6], [3, 9]])

In [18]: b1 = array([[1, 3.0 , 1, 1], [0 , 2, 5 ,2]])

In [19]: dot(a1,b1)
Out[19]:
array([[ 1.1, 11.3, 21.1, 9.1],
[ 2. , 18. , 32. , 14. ],
[ 3. , 27. , 48. , 21. ]])



Офлайн

#4 Авг. 9, 2007 09:38:35

rasser_depressnjak
От:
Зарегистрирован: 2006-12-12
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

matrix has python or python

спасибо, теперь все замечательно входит и выходит
ну и результат маткада и питона совпадают



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version