我有一个MATLAB偏好,我已经弄清楚了如何从偏好菜单(通用> MAT-Files> MAT-file保存格式)中检查,但想以编程方式更改它,以便我可以在启动时分发更改。m文件。我找不到它。
有人知道如何做到这一点和/或有一个建议去哪里看?
谢谢。
要做到这一点,我相信您需要编辑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, '%sn', 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, '%sn', A{:});
fclose(fid);
您可能想在这里寻找解决方案。基本上,Yair展示了如何通过访问"matlab。文本文件如下:
edit(fullfile(prefdir,'matlab.prf'));
希望有帮助!