我如何改变MATLAB偏好从代码,而不是从菜单



我有一个MATLAB偏好,我已经弄清楚了如何从偏好菜单(通用> MAT-Files> MAT-file保存格式)中检查,但想以编程方式更改它,以便我可以在启动时分发更改。m文件。我找不到它。

有人知道如何做到这一点和/或有一个建议去哪里看?

谢谢。

要做到这一点,我相信您需要编辑matlab.prf文件,这可以通过编程完成…

我们要修改的行是

MatfileSaveFormat=xxxxx

其中xxxxx可以是Sv6, Sv7Sv7.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'));

希望有帮助!

相关内容

最新更新