主要内容

assignin

为模型工作区中的变量赋值

说明

assignin(mdlWks,varName,varValue) 将值 varValue 赋给由 Simulink.ModelWorkspace 对象 mdlWks 表示的模型工作区中的 MATLAB 变量 varName。如果该变量不存在,assignin 会创建它。

示例

示例

全部折叠

打开示例模型 vdp

openExample('simulink_general/VanDerPolOscillatorExample')

创建表示 vdp 的模型工作区的 Simulink.ModelWorkspace 对象。

mdlWks = get_param('vdp','ModelWorkspace');

在模型工作区中创建具有值 5.12 的变量 myVar

assignin(mdlWks,'myVar',5.12)

输入参数

全部折叠

目标模型工作区,指定为 Simulink.ModelWorkspace 对象。

目标变量的名称,指定为字符向量。

示例: 'myVar'

数据类型: char

要赋给目标变量的值,指定为有效值。例如,您可以指定字面数字、结构体或计算结果为有效值的表达式。

如果指定句柄对象(如 Simulink.Parameter 对象)的名称,请使用 copy 函数创建该对象的一个单独副本。

示例: 5.12

示例: struct('a',5.12,'b',7.22)

示例: Simulink.Parameter(5.12)

示例: copy(myExistingParameterObject)

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | categorical | datetime | duration | calendarDuration | fi
复数支持:

替代方法

  • 通过使用 Simulink.data.DataConnection 对象函数向模型工作区添加变量并为其赋值。

    mw = Simulink.data.connect("vdp.slx");
    create(mw, "Variable","myVar");
    mw.myVar = 5.12;
    

  • 通过使用 Simulink.data.DataConnection 对象函数为一个模型工作区中的多个变量赋值。

    mw = Simulink.data.connect("myModel.slx")
    set(mw,{'e','f'},{5,6});
    get(mw,{'e','x','f'})
    ans = 
    
    1x3 cell array
    
        {[5]}    {[<missing>]}    {[6]}

版本历史记录

在 R2006a 之前推出