Matlab 如何在源代码管理项目中标准化Simulink mdl文件保存方法?

Matlab 如何在源代码管理项目中标准化Simulink mdl文件保存方法?,matlab,svn,tortoisesvn,simulink,Matlab,Svn,Tortoisesvn,Simulink,我有一个SVN存储库,其中提交了各种.mdl文件。有时,用户在模型中使用许多打开的选项卡、各种缩放设置保存.mdl文件,并在存储库中提交该文件。我想知道Simulink中是否有任何选项/脚本/参数用于保存和标准化文件,只需打开主选项卡(根级别),并且在每个模型/库级别都有正常的100%视图。在@Navan的评论之后,我想出了一个解决方案,它主要包括在模型的所有子系统块之间循环,并使用ZoomFactorparam为每个系统级别执行set_param命令。我还发现了一个用于删除所有打开的子系统选项

我有一个SVN存储库,其中提交了各种.mdl文件。有时,用户在模型中使用许多打开的选项卡、各种缩放设置保存.mdl文件,并在存储库中提交该文件。我想知道Simulink中是否有任何选项/脚本/参数用于保存和标准化文件,只需打开主选项卡(根级别),并且在每个模型/库级别都有正常的100%视图。

在@Navan的评论之后,我想出了一个解决方案,它主要包括在模型的所有子系统块之间循环,并使用
ZoomFactor
param为每个系统级别执行
set_param
命令。我还发现了一个用于删除所有打开的子系统选项卡的命令,以便只打开主根系统选项卡。这是我的代码,似乎正是我想要的:

% Making sure that the root level is open
open_system(bdroot, 'tab')
% Get all the tabs that are open, excluding the root level
tabOpened = find_system(bdroot,'LookUnderMasks','all',...
    'FollowLinks','on',...
    'Variants','AllVariants',...
    'IncludeCommented', 'on', ...
    'blocktype','SubSystem',...
    'open','on');
% Close all the unnecessary tabs tabs
cellfun(@close_system, tabOpened)

% Get a list of all the subsystem levels
blocksList = find_system(bdroot,'LookUnderMasks','all',...
    'FollowLinks','on',...
    'Variants','AllVariants',...
    'IncludeCommented', 'on', ...
    'blocktype','SubSystem');
% Set the zoom factor of each subsystem level to Normal (i.e. 100%)
for ii = 1:length(blocksList)
    set_param(blocksList{ii},'Zoomfactor','100')     
end

您需要编写一个脚本来设置ZoomFactor参数,然后使用open_system(“bdroot”)转到model root,然后调用save_system将模型保存在该状态。我不知道有任何现有的脚本可以这样做。