2011-02-14 2 views
1

모든 결과를 보려면 매트 파일의 내용을 표시하고 싶습니다. 내가 그것을로드 할 수있는 다음 그것을 두 번 클릭하면 내용이 작업 영역에 표시됩니다,이 사건은 매트 파일 콘텐츠가 몇 가지 정보를하지만 매트 파일 콘텐츠 정보가 13000 개 이상의 레코드에 대한 내가 그것을 표시 할 수 없다 . 어느 누구도 매트 파일을 테이블로 표시하는 방법을 찾도록 도와 주실 수 있습니까?matlab에 매트 파일 표시

감사합니다.

+3

[Matlab 구조체에 필드가 있는지 확인한 후로드 가능 여부 확인] (http://stackoverflow.com/questions/4026690/check-if-field-exists-in-matlab-struct-without-loading-it)) – gnovice

+2

gnovice의 의견에 동의하지 않습니다. 링크는 필드가 MAT 파일에 존재하는지 확인하는 것입니다.이 필드는 MAT 파일의 하위 세트를로드하는 것으로 보이므로 처리 할 수 ​​있습니다. – btown

답변

2

몇 가지 옵션이 있습니다. 깨끗한 작업 공간에서 시작하여 매트 파일을 작업 영역에로드 할 수 있습니다. 작업 공간에있는 모든 내용은 매트 파일에 있습니다. 변수 뷰어를 사용하거나 스크립트로 구문 분석 할 수 있습니다.

Simulink 도구 상자가있는 경우 Simulink.saveVars를 사용하여 동일한 내용을 생성 할 수있는 사람이 읽을 수있는 m 스크립트로 작업 영역의 내용을 저장할 수 있습니다. 이 기능은 Simulink와 아무 관련이 없으므로 Simulink에서이 작업을 수행해야하는 것은 부끄러운 일입니다.

4

데이터 형식 (다차원 구조체, 셀 배열)을 모르지만이 기능에 매우 유용한 "openvar"라는 기능이 있습니다.

은의 큰 임의 500x500x10 차원 매트릭스를 정의 할 수 있습니다 :

large = rand(500,500,10); 

이 변수는 250 만 두 값을 포함하고 메모리 20MB의 가까이 차지한다. 에 작업 창에서 더블 클릭하여 변수 편집기에서이 열기 "큰"보통 (이어야 내 시스템에) 다음과 같은 메시지가 제공됩니다

 
"Cannot display summaries of variables with more than 524288 elements." 

을하지만 특정 엽니 다 "openvar"α- 함수를 사용할 수 있습니다 파트 :

openvar('large(:,:,1)'); %# pass the argument as a string. 

그러면 변수 편집기 (이 경우 500x500 매트릭스)에서 매트릭스의 첫 번째 "레이어"가 열립니다. 이것은 큰 변수의 특정 부분을 살펴볼 필요가있을 때 유용합니다. 물론

당신은 항상 당신의 큰 변수의 하위 집합이 포함되어 새로운 변수를 정의 할 수 있습니다 :

less_large = large(:,:,1); 

을 ... 다음 작업 창에서 더블 클릭하여 변수 편집기에서 "less_large을"열기 . 그러나 때로는 "openvar"- 방법이 조금 더 빠르거나 더 쉽습니다.

+0

답장을 보내 주셔서 감사합니다. 데이터 형식이 있습니다. 배열의 구조체는 이미지 파일 이름을 포함하고 또 다른 변수는 색상 히스토그램과 같은 숫자 값을 포함합니다 – zenab

+0

@zenab : 나는 완전히 이해하고 있는지 확신 할 수 없습니다. 파일의 크기는 메가 바이트 단위입니까? 전체 파일을 작업 영역으로 열 수 있습니까? 왜냐하면 그렇지 않다면 위의 방법은 당신에게 가치가 없을 것입니다. –

+0

openvar 함수 사용에 대한 다음 예제를 제공합니다. my mat file (colHist.mat)이 파일에는 array (col)의 구조체가 포함되어 있습니다.이 구조체에는 다음 필드가 들어 있습니다. Nam (이미지 이름), ColHis (색상 막대 그래프), 먼저 colHist.mat를로드 한 후 다음과 같이 작성합니다. openvar (col .Nam),하지만 난이 문제를 해결하기 위해 제발 도와주세요, MATLAB 작업 공간에 빈 워크 시트를 얻을 – zenab

1

데이터를로드 한 후 어쨌든 whos을 사용하여 현재 작업 영역의 변수를 표시 하시겠습니까? 다른 변수를 표시하기 전에 모든 변수를 지울 수도 있습니다.