我是靠谱客的博主 酷酷百褶裙,最近开发中收集的这篇文章主要介绍Simulink 配置集(一)什么是配置集,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明:本文基于 MATLAB 2016a

 

配置集(Configuration Set)就是模型的参数配置集合,simulink 建模十分灵活强大,所以需要众多的参数设置,常用有几个方面(MathWorks 自称为 componets,即“组件”):

 

• Solver // 解算器

• Data Import/Export // 数据输入输出

• Optimization // 优化

• Diagnostics // 诊断

• Hardware Implementation // 硬件实现

• Model Referencing // 模型参考

• Simulation Target // 模拟目标

 

ps. 不同的 MathWorks 产品,配置集中会显示不同的默认组件

 

ps. 上述组件的中文翻译都是直译,一般使用时直呼英文名称,翻译的不准仅作参考

 

示例

 

任意模型界面,通过 Ctrl + H 可以打开 Model Explorer,如下图,包含三个模型,demo_model1~3,所有模型的 Configuration 处于激活状态

选中某个 Configuration,可以在 Contents 中看到内容(只显示 Default 内容,即上述常用组件),在最右 Dialog 中更改配置集名称、添加备注等

可以右键单击某个 Configuration,使其处于激活状态

一个模型可以有多个 Configuration,但只能有一个处于激活状态,通过激活不同的配置集,快速对模型参数进行配置

选中 Contents 中的某个组件,最右 Dialog 中显示其具体内容,和在模型中 Ctrl + E 显示的内容一致

 

导出配置集

 

可以在 Model Explorer 中的模型右击,Configuration → Export Active Configuration 导出配置集:


 

• 导出的配置集可以是 .m 文件或 .mat 文件

• 前者包含创建配置集的函数

• 后者包含配置集对象

• 如果要在模型中导入配置集,必须是配置集对象,即 .mat 文件

以上操作也可以通过 Matlab 代码实现,在 Command Window 中:

cs = getConfigSet('demo_model1','Configuration1'); // 将模型 demo_model1 中的 Configuration1 保存成 ConfigSet 对象,名为 cs
save('Config_model1_1.mat','cs'); // 这里也可以保存成 .m 文件

 

配置集 .m 文件

 

function cs = Config_model1()
%---------------------------------------------------------------------------
%  MATLAB function for configuration set generated on 15-Jul-2018 17:24:58
%  MATLAB version: 9.0.0.341360 (R2016a)
%---------------------------------------------------------------------------

cs = Simulink.ConfigSet;

% Original configuration set version: 1.16.2
if cs.versionCompare('1.16.2') < 0
    error('Simulink:MFileVersionViolation', 'The version of the target configuration set is older than the original configuration set.');
end

% Original environment character encoding: GBK
if ~strcmpi(get_param(0, 'CharacterEncoding'), 'GBK')
    warning('Simulink:EncodingUnMatched', 'The target character encoding (%s) is different from the original (%s).',  get_param(0, 'CharacterEncoding'), 'GBK');
end

% Original configuration set target is ert.tlc
cs.switchTarget('ert.tlc','');

% Do not change the order of the following commands. There are dependencies between the parameters.
cs.set_param('Name', 'Configuration1'); % Name
cs.set_param('Description', ''); % Description

% Solver
cs.set_param('StartTime', '0.0');   % Start time
cs.set_param('StopTime', '11');   % Stop time
cs.set_param('SolverType', 'Fixed-step');   % Type
cs.set_param('EnableConcurrentExecution', 'off');   % Show concurrent execution options
cs.set_param('SampleTimeConstraint', 'Unconstrained');   % Periodic sample time constraint
cs.set_param('Solver', 'FixedStepDiscrete');   % Solver
cs.set_param('FixedStep', '0.01');   % Fixed-step size (fundamental sample time)
cs.set_param('SolverMode', 'Auto');   % Tasking mode for periodic sample times
cs.set_param('AutoInsertRateTranBlk', 'off');   % Automatically handle rate transition for data transfer
cs.set_param('PositivePriorityOrder', 'off');   % Higher priority value indicates higher task priority

% Data Import/Export
cs.set_param('LoadExternalInput', 'off');   % Load external input
cs.set_param('LoadInitialState', 'off');   % Load initial state

上述为部分配置集的 .m 代码,可以看出,主要是通过代码对参数进行设置,好处:

1. 众多参数中,常用配置不多,其他都保持默认,默认的可以删除,只保留需变更的配置项即可

2. 直接将其他模型的 .m 文件价拷贝过来即可

最后

以上就是酷酷百褶裙为你收集整理的Simulink 配置集(一)什么是配置集的全部内容,希望文章能够帮你解决Simulink 配置集(一)什么是配置集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部