Main Content

仿真具有任意输入和初始条件的模型

什么是线性仿真工具

您可以使用线性仿真工具对具有任意输入信号和初始条件的线性模型进行仿真。

线性仿真工具可用于执行以下操作:

  • 从 MATLAB® 工作区导入输入信号。

  • 从 MAT 文件、Microsoft® Excel® 电子表格、ASCII 平面文件、以逗号分隔的变量文件 (CSV) 或文本文件导入输入信号。

  • 生成正弦波、方波、阶跃函数或白噪声形式的任意输入信号。

  • 指定状态空间模型的初始状态。

    默认初始状态为零。

打开线性仿真工具

要打开线性仿真工具,请执行以下操作之一:

  • 在线性系统分析器中,右键点击绘图区域并选择绘图类型 > 线性仿真

  • 在 MATLAB 提示符下使用 lsim 函数:

    lsim(modelname)
    
  • 在 MATLAB 图窗窗口中,右键点击响应图并选择输入数据

使用线性仿真工具

线性仿真工具包含两个选项卡:输入信号初始状态

打开线性仿真工具(如打开线性仿真工具中所述)后,按照以下步骤仿真您的模型:

  1. 点击输入信号选项卡(如果未显示)。

  2. 计时区域中,通过执行以下操作之一来指定仿真时间向量:

    • 点击导入时间以导入时间向量。

    • 输入结束时间和时间间隔(以秒为单位)。开始时间设置为 0 秒。

  3. 执行以下操作之一以指定输入信号:

    • 点击导入信号,以从 MATLAB 工作区或文件中导入信号。有关详细信息,请参阅导入输入信号

    • 点击设计信号以创建您自己的输入。有关详细信息,请参阅设计输入信号

  4. 如果您有状态空间模型并要指定初始条件,请点击初始状态选项卡。默认情况下,所有初始状态都设置为零。

    您可以在初始值列中输入状态值,也可以通过点击导入状态向量来导入值。有关输入初始状态的详细信息,请参阅指定初始条件

  5. 对于连续模型,请在插值方法列表中选择以下插值方法之一以供仿真求解器使用:

    • 零阶保持

    • 一阶保持(线性插值)

    • 自动(线性仿真工具根据输入的平滑度自动选择一阶保持或零阶保持)

      注意

      仿真离散模型时不使用插值方法。

  6. 点击仿真

导入输入信号

打开线性仿真工具后,您可以从 MATLAB 工作区导入输入信号(请参阅打开线性仿真工具)。您也可以从 MAT 文件、Microsoft Excel 电子表格、ASCII 平面文件、以逗号分隔的变量文件 (CSV) 或文本文件中导入输入。

有关创建您自己的输入的信息,请参阅设计输入信号。有关使用线性仿真工具的概述,请参阅使用线性仿真工具

要导入一个或多个输入信号,请执行以下操作:

  1. 在线性仿真工具中,点击输入信号选项卡(如果未显示)。

  2. 计时区域中指定仿真时间。

  3. 为要导入的输入通道选择一个或多个行。下图显示具有两个所选通道的示例。

  4. 点击导入信号,以打开“数据导入”对话框。下图显示“数据导入”对话框的示例。

  5. 从以下源导入列表中,选择输入信号源。它可以是以下各项之一:

    • Workspace

    • MAT file

    • XLS file

    • CSV file

    • ASCII file

  6. 选择要导入的数据。根据您选择的源格式,“数据导入”对话框包含不同选项。

  7. 点击导入

有关导入输入信号的示例,请参阅以下内容:

示例:从 Microsoft Excel 电子表格加载输入

要从 Microsoft Excel (XLS) 电子表格加载输入,请执行以下操作:

  1. 在线性仿真工具中,点击输入信号选项卡中的导入信号,以打开“数据导入”对话框。

  2. 从以下源导入列表中选择 XLS 文件

  3. 点击浏览

  4. 选择您要导入的文件,然后点击打开。此时将使用 Microsoft Excel 电子表格中的数据填充“数据导入”对话框。

示例:从工作区导入输入

要从 MATLAB 工作区加载输入信号,请执行以下操作:

  1. 输入以下代码以打开二阶系统的响应图:

    s=tf('s');
    ss=(s+2)/(s^2+3*s+2);
    lsim(ss,randn(100,1),1:100);
    
  2. 右键点击绘图背景并选择输入数据

    此时将打开具有默认输入数据的线性仿真工具。

  3. 在 MATLAB 命令行窗口中为您的系统创建一个输入信号,如下所示:

    new_signal=[-3*ones(1,20) 2*ones(1,30) 0.5*ones(1,50)]';
    
  4. 在线性仿真工具中,点击导入信号

  5. 在“数据导入”对话框中,点击分配列,将输入信号的第一列分配给所选通道。

  6. 点击导入。此时会将新信号导入线性仿真工具中。

  7. 点击仿真以查看二阶系统对导入的信号的响应。

设计输入信号

打开线性仿真工具后,您可以生成正弦波、方波、阶跃函数或白噪声形式的任意输入信号(请参阅打开线性仿真工具)。

有关从 MATLAB 工作区或文件导入输入的信息,请参阅导入输入信号。有关使用线性仿真工具的概述,请参阅使用线性仿真工具

要设计一个或多个输入信号,请执行以下操作:

  1. 在线性仿真工具中,点击输入信号选项卡(如果未显示)。

  2. 计时区域中指定仿真时间。时间间隔(以秒为单位)用于评估您在此过程的后续步骤中设计的输入信号。

  3. 为要设计的信号通道选择一个或多个行。下图显示具有两个所选通道的示例。

  4. 点击设计信号,以打开“信号设计器”对话框。下图显示“信号设计器”对话框的示例。

  5. 信号类型列表中,选择您要创建的信号的类型。它可以是以下各项之一:

    • Sine wave

    • Square wave

    • Step function

    • White noise

  6. 指定信号特征。根据您选择的信号类型,“信号设计器”对话框包含不同选项。

  7. 点击插入。此时会将新信号插入线性仿真工具中。

  8. 点击线性仿真工具中的仿真以查看系统响应。

指定初始条件

如果您的系统采用状态空间形式,您可以在打开线性仿真工具后输入或导入初始状态(请参阅打开线性仿真工具)。

有关使用线性仿真工具的概述,请参阅使用线性仿真工具

您也可以从 MATLAB 工作区导入初始状态。

要导入一个或多个初始状态,请执行以下操作:

  1. 在线性仿真工具中,点击初始状态选项卡(如果尚未显示)。

  2. 所选系统列表中,选择您要为其指定初始条件的系统。

  3. 您可以在初始值列中输入状态值,或通过点击导入状态向量从 MATLAB 工作区导入值。下图显示导入窗口的示例:

    注意

    如果模型有 n 个状态,您的初始条件向量必须有 n 个条目。

  4. 指定初始状态后,点击线性仿真工具中的仿真以查看系统响应。

另请参阅

|

相关主题