2013-11-20 8 views
1

변수 이름과 동일한 파일 이름으로 여러 배열을 텍스트 파일에 저장해야합니다. 나는 다음의 라인을 사용하여 필요한 모든 변수의 벡터를 만들었습니다.Matlab의 텍스트 파일에 여러 배열 저장

all_var={}; 
vars=whos; 
for(i=1:size(vars,1)) 
    if(~isempty(regexp(vars(i).name,'A[0-9]','match'))) 
     all_var{end+1}=vars(i).name; 
end 
end 

저는 이러한 모든 변수를 파일에 저장하는 방법을 찾기 위해 고심하고 있습니다. 어떤 도움을 주시면 감사하겠습니다.

고맙습니다.

+0

을 단일 텍스트 파일로 모든 배열을 저장할? – MZimmerman6

답변

2

정확하게 이해했는지 확실하지 않습니다. 각 변수를 다른 파일에 저장 하시겠습니까? 의 각 요소에 대해

경우
filename = sprintf('vector_starting_with%d.mat', vars(1).name); 
save(filename) 

원하는 분리 된 파일 : 말, 당신이 동일한 파일에 모든 변수를 저장할 파일 이름과 벡터의 첫 번째 값을 수 있습니다 가정 할 때, 당신은 뭔가를 시도 할 수 벡터, 당신은 시도 할 수 있습니다 : 그것은 몇 가지 버그가있을 수 있습니다

all_var={}; 
vars=whos; 
for(i=1:size(vars,1)) 
    if(~isempty(regexp(vars(i).name,'A[0-9]','match'))) 
     all_var{end+1}=vars(i).name; 
     varsave=sprintf('vector_%d.mat', vars(i).name) 
     save(varsave); 
end 
end 

죄송 것으로, 지금 내가 MATLAB이 없습니다. 그럼에도 불구하고 this documentation으로 이동하십시오.

편집 당신이 다음 시도 알려줘 :

all_var={}; 
vars=whos; 
for(i=1:size(vars,1)) 
    if(~isempty(regexp(vars(i).name,'A[0-9]','match'))) 
     all_var{end+1}=vars(i).name; 
     filename = sprintf('%d.txt', vars(i).name); 
     file = fopen(filename,'w'); 
     fprintf(file,vars(i).name); 
     fclose(file); 
end 
end 
+0

답장을 보내 주셔서 감사합니다. 그러나 나는 나의 문제를 아주 분명하게 진술했다고 생각하지 않는다. 내가하려고하는 것은 텍스트 파일을 분리하기 위해 "A"로 시작하는 모든 변수를 저장하는 것입니다. 텍스트 파일의 이름은 변수 이름과 동일해야합니다. 감사합니다 – user3014621

+0

네, 도와 주셔서 감사합니다. – user3014621

관련 문제