我有一个MATLAB首选项,我已经知道如何从preferences菜单(General > MAT-Files > MAT-file保存格式)检查,但我希望通过编程方式更改它,以便在startup.m文件中分发更改。我找不到了。
有人知道如何这样做和/或有一个建议,看看哪里?
谢谢。
发布于 2014-08-15 15:02:24
要做到这一点,我相信您需要编辑matlab.prf文件,这可以通过编程.
我们想要改变的是
MatfileSaveFormat=xxxxx其中xxxxx可以分别是Sv6、Sv7或Sv7.3,分别与-v6、-v7和-v7.3有关。
因此,要找到要更改的行,将文件加载到单元格数组中,找到包含文本'MatfileSaveFormat='的元素的位置,并用'MatfileSaveFormat=Sv7.3' (或所需版本的合适行)替换该元素,最后用更新的版本覆盖该文件。
pref = regexp( fileread(fullfile(prefdir,'matlab.prf')), '\n', 'split');
pref{find(~cellfun(@isempty,regexp(pref,'MatfileSaveFormat=')))}=...
'MatfileSaveFormat=Sv7.3';
fid = fopen(fullfile(prefdir,'matlab.prf'), 'w');
fprintf(fid, '%s\n', A{:});
fclose(fid);注意:在2013年a中,这不会在查看时更新设置,但会影响save()中的文件类型。
对以下内容进行了修改,以说明matlab.prf中尚未存在的行,如果首选项从未被更改,则情况似乎是如此。
pref = regexp( fileread(fullfile(prefdir,'matlab.prf')), '\n', 'split');
loc = find(~cellfun(@isempty,regexp(pref,'MatfileSaveFormat=')));
if isempty(loc); pref{end+1} = 'MatfileSaveFormat=Sv7.3';
else; pref{loc} = 'MatfileSaveFormat=Sv7.3';
end
fid = fopen(fullfile(prefdir,'matlab.prf'), 'w');
fprintf(fid, '%s\n', A{:});
fclose(fid);发布于 2014-08-15 14:30:29
您可能希望寻找这里的解决方案。基本上,Yair演示了如何通过访问"matlab.prf“文本文件来修改首选项,如下所示:
edit(fullfile(prefdir,'matlab.prf'));希望这能帮上忙!
https://stackoverflow.com/questions/25327784
复制相似问题