2016-06-13 2 views
0

matlab figure를 다르게 출력하여 사용자가 파일 이름을 매번 입력하도록하고 싶습니다. 문자열에 정의 된 함수의 이름을 자동으로 저장하는 print 함수를 사용하고 있습니다. 지금까지 나는 이것을 가지고있다. 나는이 대답을 여기서 얻었습니다.이름이 matlab figure file 다르게

filename = gcf; 
print(filename,'myfilename','-dpng','-r30'); 

그림을 myfilename으로 인쇄합니다. 어쨌든 사용자가 숫자를 인쇄 할 때마다 그 문자열을 입력하도록 할 수 있습니까? 항상 스택 오버플로의 도움을 주셔서 감사합니다. 감사합니다

답변

1

이렇게하는 방법에는 여러 가지가 있습니다.

  • uiputfile - 명령 창에서 파일 이름을 입력하라는 메시지를 사용자에게 표시 - 실제 기존 파일 등

    [fname, pname] = uiputfile('filename.png', 'Please select a file location'); 
    
    % Make sure the user didn't hit cancel 
    if isequal(fname, 0) || isequal(pname, 0) 
        return; 
    end 
    
    % Create the filename 
    filename = fullfile(pname, fname); 
    
    print(gcf, filename, '-dpng', '-r30'); 
    
  • input 덮어 쓰기의 경우 경고 것이다 저장 대화 상자 사용 .

    filename = input('Please enter a filename:'); 
    print(gcf, filename, '-dpng', '-r30'); 
    
  • inputdlg - 사용자가 원하는 파일 이름을 입력 할 수있는 GUI 프롬프트를 엽니 다.

    filename = inputdlg('Please enter a filename'); 
    print(gcf, filename, '-dpng', '-r30'); 
    

나는 개인적으로,

uiputfile 접근 방법을 추천 할 것입니다