2013-11-01 5 views
1

의해 NumPy와 배열의 치수를 작게 :자체 정의 함수로 정의 된 함수

A.myfunc() >> B 
:

이런 myfunc에()를 호출하여 B에 전송하도록 배열 연산을 사용하여 적당한 방법이란
def myfunc(x1,x2, ... ,x10):     # list 
     ... 
     matrix operation on x1, x2 ..., x10  
     ... 
     return X         # one value 

답변

1
import copy 
def myfunc(x1,x2, ... ,x10):     # list 
    ... 
    matrix operation on copy.deepcopy(x1), copy.deepcopy(x2) ..., copy.deepcopy(x10)  
    ... 
    return X  

B = myfunc(a,b,c,d...) 

내 생각은 ... 당신이

배열을 찾고 당신의 매트릭스 연산에 당신이 있도록 변경할 수있는 무엇이다 가능성이 원래 배열을 수정 ... 당신은 단지 기존의 x1..x10 배열을 수정하지 않고 새로운 데이터 세트를 반환하려는 것 같아

거친 아마도 내가 당신이 무엇을 묻고 있었는지 이해하지 못할 가능성이 75 %입니다 .

+0

oops! 나는 중요한 것을 놓쳤다. A는 4 차원 배열이고, B는 3 차원 배열이다. A에서 B를 생성하기 위해 myfunc()를 사용할 수 있습니다. 그러나 myfunc()를 호출하여 A의 차원을 4에서 3으로 줄이는 메서드가 있는지 궁금합니다. –

+0

게시물 A와 B ... 그러나 작은 크기의 예제 ... 귀하의 의견이 귀하의 예상 결과가 무엇인지 이해가 안됩니다 –

+0

귀하의 빠른 응답을 많이 주셔서 감사합니다! A는 3 차원 (5 * 5 * 10), B는 2 차원 (5 * 5), myfunc()는 10 개의 입력 값에서 단일 값을 리턴하는 다중 선형 회귀 함수입니다. 그러므로 각 A [i, j, :]는 반복적 인 방법을 사용하여 myfunc()를 호출하여 B [i, j]를 생성 할 수 있습니다 : 범위 (5)의 i :/범위 (5)의 j :/B [i , j] = myfunc (A [i, j ,:]). 하지만 루프없이 행렬에 myfunc()를 호출 할 수 있습니까? –

관련 문제