2012-08-10 3 views
3

아래 나열된 Matlab 명령을 Python으로 구현하고자합니다. 파이썬에서 Matlab에 해당하는 명령을 알아낼 수는 있지만 정확한 결과를 얻지는 못합니다. 누군가 나를 얻을 수 있도록 도와주세요.matlab 프로그램을 해당 파이썬 코드로 변환

MATLAB 코드 :

n0 = 3 
n1 = 1 
n2 = 5 
n = [n1:n2] 
>> 1 2 3 4 5 
x = [(n - n0) == 0] 
>> 0 0 1 0 0 

파이썬 코드 :

import numpy 
n0 = 3 
n1 = 1 
n2 = 5 
n = r_[n1:n2+1] 
>> [1 2 3 4 5] 
x = r_[(n-n0) == 0] 
>> [False False True False False] 

그래서 x는 Boolean 데이터 유형 내 배열입니다 "[배열 ([] 거짓 거짓, 거짓 거짓, 사실, DTYPE = 부울)] ". 최종 결과를 0 또는 1 형식으로 결과를 반환하여 결과가 Matlab과 정확히 일치하도록하려면 어떻게해야합니까? 불리언 변환

답변

2

이용리스트 이해 int로 :

[int(val) for val in x] 
+0

들으, 이러한 어레이 명령과 함께 사용할 수있는 리턴리스트 ndarray 데이터 형식된다. 하지만 명령을 실행하는 동안 결과가 바로 해당 유형이 될 수있는 방법이 있습니다. 데이터 타입을 제어 할 수있는 numpy 배열에 몇 가지 메소드/속성이 있다는 것을 알고 있습니다. – sarbjit

+0

맞습니다.'x.astype (int)'예를 들어 – bph

+0

예 .astast worked – sarbjit