MATLAB - 使用 MPC Designer 线性化 Simulink 模型

2023-12-20 00:28

本文主要是介绍MATLAB - 使用 MPC Designer 线性化 Simulink 模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录


前言

本主题介绍如何使用 MPC Designer 对 Simulink® 模型进行线性化。为此,请从包含 MPC 控制器块的 Simulink 模型打开该应用程序。本例中使用 CSTR_ClosedLoop 模型。

open_system('CSTR_ClosedLoop')

在模型窗口中,双击 MPC 控制器模块。

提示

在 MPC 控制器块参数对话框的默认条件选项卡中,可以在打开 MPC Designer 之前定义控制器采样时间和信号尺寸。

 在 "区块参数 "对话框中,确保 MPC 控制器字段为空,然后单击 "设计 "打开 MPC 设计器。

使用 MPC Designer,您可以通过线性化 Simulink 模型来定义 MPC 结构。定义初始 MPC 结构后,还可以在不同工作点对模型进行线性化,并导入线性化后的工厂。

注意

如果在 MPC 控制器字段中指定了 MATLAB® 工作区中的控制器,应用程序将导入指定的控制器。在这种情况下,MPC 结构源自导入的控制器。不过,您仍然可以对 Simulink 模型进行线性化处理,并导入线性化的工厂。


一、通过线性化定义 MPC 结构

本例演示了如何通过线性化 Simulink 模型在 MPC Designer 中定义工厂输入/输出结构。

在 "MPC Designer "选项卡的 "结构 "部分,单击 "MPC 结构"。

1.1 指定信号尺寸

在 "按线性化定义 MPC 结构 "对话框的 "MPC 结构 "部分中,如果显示的信号尺寸与模型不匹配,请单击 "更改 I/O 尺寸 "配置尺寸。由于模型中的未测量干扰或未测量输出不会输入到 MPC 控制器块,因此必须指定这些信号的尺寸。在本例中,请指定一个未测量的干扰信号。

 

单击 "确定"。

未测量干扰 (UD) 类型已添加到 Simulink 工厂输入信号中,但未指定块路径。

1.2 选择工厂输入/输出信号

在对模型进行线性化之前,请为模型中的每个 MPC 信号类型分配 Simulink 信号线。应用程序将这些信号用作线性化输入和输出。

在 "工厂输入的 Simulink 信号 "和 "工厂输出的 Simulink 信号 "部分,会自动为操纵变量、测量输出和测量干扰定义块路径。MPC Designer 会检测这些信号,因为它们连接到 MPC 控制器模块。如果工厂有未测量的干扰或未测量的输出,请选择相应的 Simulink 信号线。

要选择信号类型,请使用 "已选 "复选框。

在选择信号对话框中,单击确定。

在 "按线性化定义 MPC 结构 "对话框中,所选信号类型的块路径将更新。

注意

如果模型有测量扰动,则必须将 MPC 控制器模块的 md 输入端口连接到相应工厂输入的同一信号线上。更多信息,请参阅连接测量扰动进行线性化。

1.3 指定工作点

在 Simulink 运行点部分,在下拉列表中选择一个运行点,在该点上对模型进行线性化。本例中选择 "模型初始条件"。

有关不同操作点选项的信息,请参阅指定操作点。

注意

如果选择了生成多个线性化工作点的选项,MPC Designer 只使用第一个工作点来定义工厂结构和对模型进行线性化。

1.4 定义结构和线性化模型

单击导入。

MPC Designer 使用指定的输入/输出信号在指定的工作点对 Simulink 模型进行线性化,并将线性化后的工厂导入应用程序右侧的 "工厂 "工作区。控制器工作区中会添加一个默认控制器,该控制器将线性化工厂作为其内部模型,并将所选工作点的输入/输出信号值作为标称值。情景工作区中还添加了一个默认模拟情景。

注意

在 MPC Designer 中创建的所有控制器都共享相同的标称值,否则就不容易比较它们的响应。因此,如果更新标称值,所有控制器都会受到影响。

二、线性化模型

定义初始 MPC 结构后,可以在不同工作点对 Simulink 模型进行线性化,并导入线性化后的工厂。这样做有助于根据建模误差验证控制器性能。

在 "MPC 设计器 "选项卡的 "导入 "部分,单击 "线性化模型"。

2.1 选择工厂输入/输出信号

在 "工厂输入的 Simulink 信号 "和 "工厂输出的 Simulink 信号 "部分,输入/输出信号配置与最初定义 MPC 结构时指定的配置相同。

一旦定义了结构,就不能更改信号类型和尺寸。不过,对于每种信号类型,您可以从 Simulink 模型中选择不同的信号线。所选线路必须与当前 MPC 结构中定义的线路具有相同的尺寸。

2.2 指定操作点

在 Simulink 操作点部分的下拉列表中,您可以选择对模型进行线性化的操作点。

有关不同操作点选项的信息,请参阅指定操作点。

2.3 线性化模型和导入工厂

如果单击 "导入"(Import),MPC Designer 将在定义的工作点上对 Simulink 模型进行线性化,并将线性化工厂、默认控制器和默认仿真场景添加到右侧的应用程序工作区中,如前所述的 "通过线性化定义 MPC 结构 "对话框中的 "导入"(Import)按钮。

如果选择 "同时使用选定工作点更新标称值 "选项,则应用程序控制器工作区中所有控制器 的标称值都将使用该工作点信号值进行更新。

如果选择了为线性化生成多个工作点的选项(请参阅指定工作点),应用程序将在所有指定的 工作点上对模型进行线性化。线性化后的设备将按照定义相应工作点的顺序添加到 "设备 "工作区中。如果选择更新标称值,程序将使用第一个工作点的信号值。

三、指定操作点


在 "通过线性化定义 MPC 结构 "对话框或 "线性化 Simulink 模型 "对话框的 "Simulink 操作点 "部分的下拉列表中,可以选择或创建用于模型线性化的操作点。有关查找稳态工作点的更多信息,请参阅关于工作点(Simulink 控制设计)和根据规范计算稳态工作点(Simulink 控制设计)。

3.1 选择模型初始条件


要使用 Simulink 模型中指定的初始条件作为操作点对模型进行线性化,请选择模型初始条件。

 

模型初始条件是 MPC Designer 中线性化的默认工作点。

3.2 在仿真快照时间线性化


要在指定的仿真快照时间对模型进行线性化,请选择在仿真快照时间线性化。当您知道模型在某个仿真时间后达到平衡状态时,在快照时间进行线性化非常有用。

在输入快照时间以线性化对话框中,在模拟快照时间字段中输入一个或多个模拟快照时间。以矢量形式输入多个快照时间。

 

单击确定。

如果输入了多个快照时间,并且之前在 "按线性化定义 MPC 结构 "对话框中选择了 "按线性化"(并单击 "导入 "按钮),则 MPC Designer 将仅使用第一个快照时间对 Simulink 模型进行线性化:

  • 通过线性化定义 MPC 结构 "对话框,MPC Designer 将仅使用第一个快照时间对 Simulink 模型进行线性化。MPC 控制器的标称值是使用该快照的输入/输出信号值定义的。
  • 在线性化 Simulink 模型对话框中,MPC Designer 在所有指定的快照时间对模型进行线性化。线性化后的工厂模型将按照快照时间数组中指定的顺序添加到数据浏览器中。如果您选择了 "使用选定工作点更新标称值 "选项,标称值将使用第一个快照的输入/输出信号值进行设置。

3.3 计算稳态工作点


要使用数值优化方法计算出符合规格的稳态运行点,请从创建列表中选择修整模型。

 在 "修整模型 "对话框中,输入您希望找到工作点的稳态值规格。您可以指定状态、输入信号和输出信号的值。

单击 "开始修剪"。

此时将打开 "修剪进度查看器 "窗口,显示在模型的状态-输入空间中找到一个具有状态、 输入和输出选项卡中指定特征的点的优化进度。优化过程结束后,关闭修剪进度窗口和修剪模型对话框。

MPC Designer 将根据给定的规格创建一个工作点。计算出的操作点将添加到 Simulink 操作点下拉列表中并被选中。

有关如何指定稳态工作点搜索条件的示例,请参阅根据规格计算稳态工作点(Simulink 控制设计)。

3.4 在仿真快照时间计算工作点


要使用仿真快照计算工作点,请选择 "获取仿真快照"。当您知道模型在一定的仿真时间后达到平衡状态时,使用仿真快照计算的工作点对模型进行线性化会特别有用。

在输入快照时间线性化对话框中,在模拟快照时间字段中输入一个或多个模拟快照时间。以矢量形式输入多个快照时间

单击 "拍摄快照"。

MPC Designer 对 Simulink 模型进行仿真。在每个快照时间,模型的当前状态都会被用来创建一个操作点,并将其添加到下拉列表中进行选择。

如果输入多个快照时间,操作点将作为一个数组一起存储。如果您之前在 "按线性化定义 MPC 结构 "对话框中选择了 "获取仿真快照",那么现在您可以在 "按线性化定义 MPC 结构 "对话框中选择 "获取模拟快照":

通过线性化定义 MPC 结构 "对话框中选择 "获取仿真快照",则 MPC Designer 将仅使用数组中的第一个工作点对模型进行线性化。MPC 控制器的标称值是使用该工作点的输入/输出信号值定义的。

在 "线性化 Simulink 模型 "对话框中,MPC Designer 将在阵列中的所有工作点对模型进行线性化。线性化后的工厂模型将按照与操作点阵列相同的顺序添加到数据浏览器中。

3.5 选择现有运行点


在 "现有工作点 "下,选择一个先前定义的工作点,在该工作点上对 Simulink 模型进行线性化。如果下拉列表中有一个或多个先前创建的工作点,则可使用该选项。

如果所选工作点代表使用多个快照时间创建的工作点阵列,并且您之前从

通过线性化定义 MPC 结构 "对话框,MPC Designer 将仅使用阵列中的第一个工作点对模型进行线性化。MPC 控制器的标称值是使用该工作点的输入/输出信号值定义的。

在 "线性化 Simulink 模型 "对话框中,MPC Designer 在阵列中的所有工作点对模型进行线性化。线性化后的工厂模型将按照与操作点阵列相同的顺序添加到数据浏览器中。

3.6 选择多个工作点


要在多个现有操作点上对 Simulink 模型进行线性化,请选择在多个点上线性化。如果下拉列表中有多个先前创建的工作点,则可使用该选项。

在指定多个工作点对话框中,选择要对模型进行线性化的工作点。 

 

要更改操作点顺序,请单击列表中的操作点,然后单击 "上 "或 "下 "在列表中移动突出显示 的操作点。

单击确定。

如果之前选择了多点线性化,然后单击了 "按线性化定义 MPC 结构 "对话框中的 "导入":

按线性化定义 MPC 结构 "对话框中单击 "导入",MPC Designer 将仅使用第一个指定的工作点对模型进行线性化。MPC 控制器的标称值是使用该工作点的输入/输出信号值定义的。

在 "线性化 Simulink 模型 "对话框中,MPC Designer 将在所有指定工作点对模型进行线性化。线性化后的工厂模型将按照 "指定多个工作点 "对话框中指定的顺序添加到数据浏览器中。

3.7 查看/编辑运行点


要查看或编辑所选工作点,请单击 "编辑 "按钮。

 

 在 "编辑 "对话框中,如果您从模拟快照中创建了所选工作点,则可以编辑工作点值。

如果所选操作点代表一个操作点阵列,请在选择操作点下拉菜单中选择一个操作点进行查看。

如果通过修剪模型获得操作点,则只能查看操作点值。

要将 Simulink 模型初始条件设置为工作点中的状态,请单击初始化模型。然后就可以在指定的工作点上模拟模型。

设置模型初始条件时,MPC Designer 会将操作点导出到 MATLAB 工作区。此外,在 Simulink 配置参数对话框的数据导入/导出部分,它还会选择输入和初始状态参数, 并将其配置为使用导出操作点中的状态和输入。

要重置模型初始条件,例如删除导出的运行点,请清除输入和初始状态参数。

四、连接测量扰动进行线性化


如果 Simulink 模型有测量干扰信号,请将其连接到相应的工厂输入端口和 MPC 控制器模块的 md 端口。如果有多个测量干扰信号,请使用矢量信号将它们连接到 MPC 控制器。正如在 "通过线性化定义 MPC 结构 "中所述,MPC Designer 会自动检测连接到 MPC 控制器模块的测量干扰,并将其设置为用于线性化的工厂输入。

由于连接到 md 端口的测量干扰被选为线性化输入,因此必须将工厂测量干扰输入端口连接到选定的信号线上,如下图所示。

4.1 正确的 MD 连接

如下图所示,如果在 Mux 块之前将工厂测量干扰输入端口连接到相应信号,则 md 端口的信号到工厂之间没有线性化路径。因此,当您使用 MPC Designer 对设备进行线性化时,测量干扰通道会线性化为零。

不正确的 MD 连接

 

这篇关于MATLAB - 使用 MPC Designer 线性化 Simulink 模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/514238

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了