• MATLAB中set_param的用法


    目录

    语法

    说明

    示例

    设置模型的配置参数

    设置当前模型的配置参数

    设置 Gain 模块参数值

    设置模块的位置

    使用句柄设置模块的位置

    将模块名称放在模块的顶部

    限制

    提示


            set_param的功能是设置 Simulink 参数值

    语法

    set_param(object,parameter1,value1,...,parameterN,valueN)

    说明

            set_param(object,parameter1,value1,...,parameterN,valueN) 将指定的 Simulink® 参数 parameter 设置为由 object 指定的目标对象的指定值 value。目标对象可以是模型、子系统、库、模块、信号线、端口或总线元素端口元素。

            要为目标对象设置多个参数值,请使用多个名称-值参量调用 set_param 函数一次,而不是为每个参数单独调用该函数。用一次函数调用设置多个参数的方法很高效,因为一次调用只计算一次参数。如果任何参数名称或值无效,则函数不会设置任何参数。

    示例

    设置模型的配置参数

            打开 vdp 模型,并设置求解器和 StopTime 参数值。

    set_param('vdp','Solver','ode15s','StopTime','3000')

    设置当前模型的配置参数

            打开一个模型并设置求解器和 StopTime 参数。使用 bdroot 函数获取当前顶层模型。

    set_param(bdroot,'Solver','ode15s','StopTime','3000')

    设置 Gain 模块参数值

            打开 vdp 并设置名为 Mu 的 Gain 模块的增益参数值。 

    set_param('vdp/Mu','Gain','10')

    设置模块的位置

            打开 vdp 并设置名为 Mu 的 Gain 的模块的位置。

    set_param('vdp/Mu','Position',[50 100 110 120])

    使用句柄设置模块的位置

            使用模块句柄设置名为 Mu 的 Gain 模块在 vdp 模型中的位置。

            要获取名为 Mu 的 Gain 模块的句柄,请使用 getSimulinkBlockHandle 函数。要加载 vdp 模型,请指定 true。

    mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

            如果对同一模块多次调用 set_param,请使用模块句柄,这比完整模块路径更高效。

            可以在对 get_param 或 set_param 的后续调用中使用该模块句柄。句柄包含双精度值。不要尝试手动输入句柄的数字(例如 5.007),因为通常需要指定的位数会多于 MATLAB® 显示的位数。而要将该句柄赋给变量,并使用该变量名称指定模块。

            将模块句柄与 set_param 一起使用来设置位置。

    set_param(mublockhandle,'Position',[50 100 110 120])

    将模块名称放在模块的顶部

            打开 vdp,对于名为 Mu 的 Gain 模块,在模块的顶部设置模块名称。

    set_param('vdp/Mu','NameLocation','top')

    参数说明

    object — 对象的名称、路径或句柄

    对象的名称、路径或句柄,指定为字符向量、字符串标量或数值标量。

    如何指定目标对象取决于其类型。

    • 模型 - 模型名称或句柄。

    • 子系统 - 系统名称或句柄。

    • 库 - 库名称或句柄。

    • 模块 - 模块路径或句柄。

    • 信号线 - 信号线句柄。

    • 端口 - 端口句柄。

    • 总线元素端口元素 - 具有元素标签的模型组件的模块路径。元素可以是端口的任何元素,例如顶层总线、嵌套总线、信号或消息。

    示例:'vdp/Mu'

    示例: 'mymodel/Subsystem1/Out1.nonsinusoidal.saw'

    提示

    • ​如果对同一模块多次调用 set_param,请用数值句柄指定该模块。这种方法比对 set_param 使用完整模块路径更高效。使用 getSimulinkBlockHandle 获取模块句柄。

    • 不要尝试手动指定句柄的数字,例如 5.007,因为通常需要指定的位数多于 MATLAB 显示的位数。要将句柄赋给变量并使用该变量名称。

    parameter — 参数、属性或特性名称

    参数、属性或特性名称,指定为字符向量或字符串标量。有些名称区分大小写。

    有关参数、属性或特性的信息,请参阅对应参考页上的编程使用信息。例如:

    • 模型

    • 模块 

    • 端口

    • 总线元素端口元素 

    ​        要获取目标对象的所有参数,请使用带 'ObjectParameters' 选项的 get_param 函数。某些返回的参数可能仅供内部使用。

    示例: 'Solver'

    示例:'SimulationCommand'

    示例:'Position'

    示例:'NameLocation'

    value — 参数值

            参数值,指定为参数类型决定的格式。一些参数值区分大小写。值通常是字符向量或字符串标量,但也可以是数值标量、数组和其他类型。

            许多模块参数值指定为字符向量或字符串标量。但 Position(它指定为向量)和 UserData(它可以是任何数据类型)是两个例外。

    限制

            ​如果使用 matlab -nodisplay 启动会话,则不能使用 set_param 运行仿真。-nodisplay 模式不支持使用 set_param 进行仿真。改用 sim 函数。

    提示

            在 MATLAB 工作区中设置参数后,要查看模型中的变化,请更新图形。

    set_param(model,'SimulationCommand','Update')

  • 相关阅读:
    HTML5-4-表单
    李沐深度学习记录2:10多层感知机
    uniapp中使用canvas做审批签名
    给设计小白推荐几款笔记本电脑与工具
    Elasticsearch同义词最佳实践
    剑指offer——JZ77 按之字形顺序打印二叉树 解题思路与具体代码【C++】
    美格智能SLM927智能模组,轻松打造功能丰富的智能终端
    【微服务专题】Nacos详解
    设计模式15——享元模式
    营养电子秤控制板方案
  • 原文地址:https://blog.csdn.net/jk_101/article/details/132920584