2013-07-11 2 views
1

파이썬으로 사전을 절인했습니다. 이 사전의 값을 MATLAB 코드에서 사용하고 싶습니다. 이것이 가능합니까?matlab에 파이썬 객체 검색

+2

Mathworks 포럼 http://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/290116에서 이전에 논의 된 것처럼 보입니다. 또한 Google 검색을 통해 Matlab을위한 Json 파서를 충분히 얻을 수있었습니다. –

+1

파이썬 코드로 돌아가 대신'scipy.io.savemat'를 사용하여 사전을 저장할 수 있습니까? – kitchenette

+1

절대 속도와 메모리가 문제가 아니라면 파이썬으로 파일에 기록한 다음 MATLAB에서 파일을 처리하지 않는 이유는 무엇입니까? – voxeloctree

답변

1

매트랩 사전이 방법은 다음에서 사용할 수 있습니다 :

keys={'a','b','c'}; 
values={5,6,7}; 
c = containers.Map(keys,values); 
c = 

    containers.Map handle 
    Package: containers 

    Properties: 
     Count: 3 
     KeyType: 'char' 
    ValueType: 'double' 

그래서 당신은 다음과 같은 파이썬에서하는 .m 파일을 생성 할 수 있습니다 (모두 키 고려한 값은 실수이다) :

keys="keys = {"+",".join([str(k) for k in python_dict])+"};" 
values="values = {"+",".join([str(python_dict[k]) for k in python_dict])+"};" 
fh=open("mfile.m","w") 
fh.write("%s\n%s\n" % (keys,values)) 
fh.write("c = containers.Map(keys, values);\n") 
fh.close() 

그리고 나중에이 파일을 Matlab에서로드 할 수 있습니다.