首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从代码而不是菜单中更改MATLAB首选项?

如何从代码而不是菜单中更改MATLAB首选项?
EN

Stack Overflow用户
提问于 2014-08-15 13:59:15
回答 2查看 869关注 0票数 0

我有一个MATLAB首选项,我已经知道如何从preferences菜单(General > MAT-Files > MAT-file保存格式)检查,但我希望通过编程方式更改它,以便在startup.m文件中分发更改。我找不到了。

有人知道如何这样做和/或有一个建议,看看哪里?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-15 15:02:24

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

我们想要改变的是

代码语言:javascript
复制
MatfileSaveFormat=xxxxx

其中xxxxx可以分别是Sv6Sv7Sv7.3,分别与-v6、-v7和-v7.3有关。

因此,要找到要更改的行,将文件加载到单元格数组中,找到包含文本'MatfileSaveFormat='的元素的位置,并用'MatfileSaveFormat=Sv7.3' (或所需版本的合适行)替换该元素,最后用更新的版本覆盖该文件。

代码语言:javascript
复制
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中尚未存在的行,如果首选项从未被更改,则情况似乎是如此。

代码语言:javascript
复制
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);
票数 3
EN

Stack Overflow用户

发布于 2014-08-15 14:30:29

您可能希望寻找这里的解决方案。基本上,Yair演示了如何通过访问"matlab.prf“文本文件来修改首选项,如下所示:

代码语言:javascript
复制
edit(fullfile(prefdir,'matlab.prf'));

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25327784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档