2016-07-15 3 views
2

나는이 (param.txt)과 같은 파일이 있습니다Matlab : ascii 파일에서 데이터를 가져 와서 구조체에 넣을 수 있습니까?

JSS 2 
ADEV 1 
VERS 770 
JSD 1 

을 그리고 내 직장에서 변수로 구조체로이 파일에서 데이터를 넣을. 그런 다음

Field Value 
_____ |_______ 
JSS |2 
ADEV |1 
VERS |770 
JSD |1 

:

>>> P.JSS 
ans = 
2 

이 가능

보자는 P가의 구조체는, 내가 "P"를 부르는 말?

감사합니다.

+0

예. 것이 가능하다. 하지만 파일을 읽고 손으로 파싱해야합니다! –

답변

4

예, textscan을 사용하여 모든 부품을 가져온 다음 struct 생성자를 사용하여 셀을 만들 수 있습니다.

fid = fopen('filename.txt', 'r'); 

% Parse out the fieldnames and numbers 
data = textscan(fid, '%s %d'); 

% Put the strings in the first row and the numbers in the second 
alldata = [data{1}, num2cell(data{2})].'; 

% Pass fieldnames and values to struct() 
P = struct(alldata{:}); 

fclose(fid); 
+0

감사합니다. – Neros