이 프로그램을 실행하려고하면 속성 오류가 발생합니다. 나는 내가 DIFF()가 작동하는지 나는 또한 샘플 코드를 시도하거나 순이익이 경우 수입 수학 수입 NumPy와에서 일하지이 오류는 무엇입니까 : 'matrix'객체에는 'diff'속성이 없습니다.
import math
import numpy as np
from sympy import *
from sympy import diff
import sympy as sp
p=np.matrix([[0],[0],[0],[1]])
pdash=p
zi=Matrix(2, 1, lambda i,j: Symbol('z%d' % (i+1)))
xi=Matrix(2, 1, lambda i,j: Symbol('x%d' % (i+1)))
alphai=Matrix(2,1, lambda i,j: Symbol('a%d' % (i+1)))
thetai=Matrix(2,1, lambda i,j: Symbol('t%d' % (i+1)))
transformed=np.matrix([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])
def transformation_fn(zi,xi,thetai,alphai):
ca=cos((alphai))
sa=sin((alphai))
ct=cos((thetai))
st=sin((thetai))
transformation=np.matrix([[ct,-st*ca,st*sa,xi*ct],
[st,ct*ca,-ct*sa,xi*st],
[0,sa,ca,zi],
[0,0,0,1]])
return transformation
for z,x,t,a in zip(zi,xi,thetai,alphai):
transformed=transformed*transformation_fn(z,x,t,a)
e=transformed*p
jacobian=e.diff(t1)
print jacobian
anything.Thanks를 놓치면 그래서 용서하시기 바랍니다 파이썬에 새로운 오전 SP
x, y, e1 = symbols('x y e1')
e=Matrix(2,1,lambda i,j:Symbol('e%d'%(i+1)))
I=np.matrix([[1 ,0 ],
[0 ,1 ]])
k=I*e
print k.diff(e1)
그것은 단지'DIFF()가 호출에는 회원의 방법은''matrix' 객체가 없음을 의미한다. 간단히'matrix_object.diff()'를 할 수 없습니다 – SilentMonk
'jacobian = np.diff (e, t1)'을 원하십니까? http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.diff.html – EdChum
@SilentMonk 감사합니다.하지만 제가 차별화를 할 수있는 방법이 있습니까? diff()를 추가하여 무작위 코드로 잘 작동하는지 여부를 확인합니다. – Yoyo