这个算子在八度音阶中的含义是什么?它的等价是什么
以下八度代码的python等价物是什么?
a = [2;3]
b = [1;4]
a'*b
简而言之,我想知道什么是python相当于(' *),它叫什么,它做了什么。我怎样才能在python中实现相同的功能。我需要新的库吗?有人可以将此部分转换为python。
提前致谢
答案 0 :(得分:0)
Dim sql As String = "INSERT INTO [sales] ([sandwich]) VALUES ([@sandwich])"
Try
Using conn As New OleDbConnection(constring),
cmd As New OleDbCommand(sql, conn)
conn.Open()
cmd.Parameters.Add("@sandwich", OleDbType.VarChar)
For Each Order As TextBox In From t In grpbill.OfType(Of TextBox)()
Where t.TextLength > 0
Order By t.TabIndex
cmd.Parameters("@sandwich").Value = Order.Text
cmd.ExecuteNonQuery()
Next
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
使用>> a = [2;3]
a =
2
3
>> b = [1;4]
b =
1
4
>> a'*b
ans = 14
的最直接翻译是:
numpy
较短的表达:
In [19]: a = np.array([2,3])[:,None]
In [20]: a
Out[20]:
array([[2],
[3]])
In [21]: b = np.array([1,4])[:,None]
In [22]: b
Out[22]:
array([[1],
[4]])
In [23]: np.dot(a.T,b)
Out[23]: array([[14]])
MATLAB / Octave In [24]: np.dot([2,3], [1,4])
Out[24]: 14
In [25]: 2*1 + 3*4
Out[25]: 14
是转置(有时也写为'
,共轭转置)。 .'
是矩阵乘法,*
。 np.dot
也使用np.matrix
作为矩阵乘法。
正如评论中指出的那样,我得到了倒退。 *
是简单的转置。
也许更重要的是,MATLAB / Octave矩阵总是至少2d,转换总是有所不同。 .'
数组可能是1d,在这种情况下numpy
什么都不做。因此,在我的字面翻译中,我添加了一个尾随维度,以确保np.transpose
和a
的形状为(2,1)。
b
有一个numpy
子类,应该对任性的MATLAB用户更友好。然而它是多年前编写的,当时MATLAB只有2d矩阵。所以np.matrix
总是2d,永远不会更多。
np.matrix
是共轭转置,名称为np.matrix(a).conjugate()
。 (np.matrix(a).H
是非共轭转置。)
.T