Форум сайта python.su
продолжим с матрицами, с использованием слегка прояснилось, а вот с реализацией библиотек замутнилось
пример на перемножение матриц в маткаде( на прикрепленом рисунке ) все работает
та же конструкция с питоне
сбоит - с чебо бы это…
исходный код :
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)
Офлайн
А ты попробуй приведенные матрицы в маткаде перемножить, и увидешь, что питон вполне правильно ругается.
Офлайн
rasser_depressnjakНужно просто читать документацию, тогда ничего замутняться не будет. Еще желательно знать терминологию на английском. То что ты хочешь получить, буржуи называют “Dot product”
c=multiply(a1, b1)
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. ]])
Офлайн
спасибо, теперь все замечательно входит и выходит
ну и результат маткада и питона совпадают
Офлайн