我是靠谱客的博主 辛勤烧鹅,最近开发中收集的这篇文章主要介绍simulink中怎么对参数进行优化_如何使用MATLAB对Simulink中电路模块参数进行批量赋值?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

     最近在用Simulink做电路仿真的时候,发现在电路中模块数量较多的时候,对模块参数值进行修改会比较麻烦。经过一番搜索,发现可以通过MATLAB对Simulink中电路模块参数进行赋值。

假设文件名是test.slx,该文件包含以下模块。

86b47f0e9223dae52c2e5eeebc837942.png

根据以上文件介绍以下几个有用的指令:

            函数

       功能

get_param('test','Blocks') 

获取test中的模块类型

get_param('test/Resistor','Dialogparameters')

获取test中Resistor的参数类型

get_param('test/Resistor','R')

获取test中Resistor模块R参数的值

set_param('test/Resistor','R','0.1')

将test中Resistor模块R赋值为0.1

 get_param('test','Blocks') ,获取test中的模块类型,

运行后输出...

ans =

  4×1 cell 数组

    {'Capacitor'         }

    {'DC Current Source1'}

    {'Resistor'          }

    {'Voltage Sensor1'   }

 get_param('test/Resistor','Dialogparameters'),获取test中Resistor的参数类型

ans =

  包含以下字段的struct:

                    R: [1×1 struct]

               R_unit: [1×1 struct]

               R_conf: [1×1 struct]

                ... ...

get_param('test/Resistor','R'),获取test中Resistor模块R参数的值

ans =

    '1'

set_param('test/Resistor','R','0.1'),将test中Resistor模块R赋值为0.1。

对单个模块进行赋值可以使用set_param('test/Resistor','R','value')函数,因此对多个模块赋值可以通过MATLAB编写.m文件使用for循环来实现。

bc55744b50e200237517c98bdfe51ea4.png

Resistor_name=cell(1,12);%创建模块名称元胞组

value=0.1:0.1:1.2;%创建模块值0.1,0.2,...,1.2

for i=1:12

Resistor_name{i}=strcat('test/Resistor',num2str(i));%将变量命名为test中Resistor名称

set_param(Resistor_name{i},'R',num2str(value(i)));%批量赋值

end

最后

以上就是辛勤烧鹅为你收集整理的simulink中怎么对参数进行优化_如何使用MATLAB对Simulink中电路模块参数进行批量赋值?...的全部内容,希望文章能够帮你解决simulink中怎么对参数进行优化_如何使用MATLAB对Simulink中电路模块参数进行批量赋值?...所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部