以不同方式命名 matlab 图文件

Name matlab figure file differently

我想以不同的方式打印出matlab图形,让用户每次都输入文件名。我正在使用 print 函数,它会自动保存在字符串中定义的函数的名称。到目前为止我有这个。我从这里得到了这个答案。

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

打印出带有myfilename的图形。我想知道,无论如何我可以让用户在每次打印出数字时输入该字符串吗?永远感谢堆栈溢出的帮助。谢谢

有多种方法可以做到这一点。

  • 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 - 提示用户在命令 window 中输入文件名。

    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 方法