我有一个MATLAB首选项,我已经找到了如何从首选项菜单(一般> MAT-Files> MAT文件保存格式)进行检查,但是想要以编程方式更改它以便我可以分发更改startup.m文件。我找不到了。
有人知道怎么做和/或建议在哪里看?
感谢。
答案 0 :(得分:3)
要做到这一点,我相信您需要编辑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);
注意:在2013a中,这不会在查看时更新设置,但会影响来自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);
答案 1 :(得分:1)
您可能希望查看here以获得解决方案。基本上Yair通过访问“matlab.prf”文本文件显示如何修改首选项,如下所示:
edit(fullfile(prefdir,'matlab.prf'));
希望有所帮助!