1、 英 语 翻 译 作 业 院系:信息工程学院 班级:计科 122 软件普 姓名:刘佳东 学号: 20121514219 模拟诊断错误 如果错误发生在仿真 ,仿真软件停止仿真 ,打开了导致错误的子系统(如果需要 ),并显示的错误模拟诊断查看器。下面的部分解释了如何使用观众来判断错误的原因。 模拟诊断查看器 查看器包含一个 错误总结面板和面板一条错误消息。 点击显示误差来源。 错误总结窗格 错误摘要窗格 上方窗格中列出了导致的 Simulink 终止错误 模拟 窗格显示以下信息,为每个错误。 消息 消息类型(例如,块错误,警告日志) 源 模型元素(例如,块),导致错误的名称 通过报道 该报告错误(
2、例如组件, Simulink 中, Stateflow 的,实时车间等) 摘要 错误消息,简称为适合在塔您可以删除任何信息,这些列作的更多空间 为了 别人。要删除列,选择浏览器的视图菜单并取消相应的项目。 错误信息窗格 下面的窗格最初包含列 出的第一条错误消息的内容在顶部窗格中。您可以通过点击显示其他消息的内容他们在上部窗格中的条目。除了显示的诊断查看器, Simulink 中也打开(如果必要的),它包含的第一个错误源和亮点子系统源。 您可以通过点击任何地方的错误显示其他错误来源消息在上部窗格中,单击在错误的错误源的名称消息(蓝色高亮显示),或者通过选择浏览器打开按钮。 更改字体大小 要更改用
3、于显示错误的字体大小,选择字体大小浏览器的菜单栏。显示的字体大小的菜单。选择所需的字体大小从菜单。 创建自定义仿真错误信息 在 Simulink 诊断查看器 显示的任何实例的输出仿真,包括实例中MATLAB 误差函数执行由您创建或者是块或模式回调或 S-功能调用 通过 MATLAB 功能块执行。因此,你可以使用 MATLAB 在回调和S-功能或 MATLAB 功能块误差函数创建特定于应用程序的模拟错误消息。 例如 在下面的模型中, MATLAB 的功能块调用下面的函数 function y=check_signal(x) if x0 error(Signal is negative.); El
4、se y=x;End 执行这一模型显示,在模拟诊断错误消息观众。 包括在错 误信息的超链接 您可以包括超链接块,文本文件和目录。 要包含一个超链接块,路径或目录,包括该项目的路径用引号括起来,如错误消息, 错误(“错误评估的块参数”为 MyModel/亩“”)在错误的当前模型显示一个文本超链接块沐消息。单击超链接显示的示范窗口块。 错误(“从” C: /work/test.data“错误读取数据”)显示一个文本超链接错误消息的文件 test.data。点击链接显示在您的首选 MATLAB编辑器中的文件。 错误(“找不到目录数据” C: /作品“”)显示一个文本超链接到c: / work 目录。
5、 点击链接打开一个系统的命令行窗口(壳),并将其工作目录为 c:/工作。 注意 文本超链接时,才会启用如果相应的块中存在当前模型,或者如果对应的文件或目录存在于用户的系统。 提高仿真性能和精度 仿真性能和精度可受许多事情,包括模型设计的仿真参数和选择。该解算器处理大多数模型模拟结果准确,高效地与它们的默认参数值。然而,一些机型,如果产生更好的结果你调整求解器和仿真参数。另外,如果你知道的信息关于你的模型的行为,你的模拟结果,如果你得到改善将此信息提供给解算器。 加快模拟 慢的仿真速度可以有许多原因。这里有几个: 您模型包括 MATLAB FCN 块。当一个模型包括 MATLAB FCN 块中,
6、 MATLAB 解释称,在每一个时间步,大幅放缓的模拟。使用内置的 FCN 块或数学 功能块只要有可能。 您模型包括一个 M 文件 S-功能。 M-文件 S-功能也导致 MATLAB解释器被称为在每个时间步。无论是考虑在 S-功能转换到一个子系统或一个 C-MEX 文件 S-功能。 您模型包括一个内存块。使用的内存块会导致变阶求解器( ode15s和 ode113)被重置回订购 1 在每个时间步长。 最大步长太小。如果你改变了最大步长,尝试用默认值(自动) 再次运行模拟。 你问太多的准确性?默认相对容差( 0.1精度)通常是足够的。对于状态模型去零,如果绝对容差参数太小,仿真可以采取太多围绕近
7、零状态值的步骤。请参阅“错误错误的讨论第 10-13 页上的偏差“。 时间尺度可能太长。减少的时间间隔。 该问题可能是生硬,但使用的是求解非刚性。尝试使用 ode15s。 该模型使用的采样时间不在彼此的倍数。混合采样时间不在彼此的倍数导致求解器取足够小的步骤,以确保采样时间打所有的采样时间。 该模型包含了代数循环。该解决方案的代数环路迭代计算在每个时间步长。因此,他们 严重降低性能。欲了解更多信息,请参阅第 2-19页的“代数循环”。 您模型提要一个随机数块成块的积分。为连续系统,采用带限白噪声块的来源图书馆。 提高模拟精度 要检查您的仿真精度,在一个合理的时间运行模拟跨度。然后,要么降低相对
8、宽容到 1e-4(默认为 1E-3)或减少绝对公差并重新运行。比较两者的结果模拟。如果结果不显著的不同,你可以放心该解决方案已经收敛。 如果模拟在其开始惦记显著的行为,降低了第一步 大小,以确保模拟不踩在显著行为。 如果模拟结果变得不稳定随着时间的推移, 您的系统可能会不稳定。 如果 您正在使用 ode15s,你可能需要的最大为了限制为 2(最大订购的求解器是 A-稳定的),或者尝试使用 ode23s 求解。如果模拟结果似乎不准确, 对于一个模型,有状态,其值趋近于零,如果绝对宽容参数过大,仿真大约需要过几个步骤接近零状态值的区域。降低这个参数的值或调整它各个国家在积分对话框。 如果减少的绝对
9、公差不能充分提高精度,降低相对公差参数的大小,以减少可接受的误差和力较小的步长大小和更多的步骤。 运行编程模拟 在 MATLAB 命令窗口或从模拟输入命令 M-文件,可以自动运行模拟。您可以执行蒙特卡罗通过改变 参数,随机并执行 Carlo 分析模拟在一个循环。您可以使用运行在命令行模拟 SIM 卡命令或 set_param命令。下面二者中描述。 使用 SIM 命令 该命令的运行模拟完整的语法 t,x,y = sim(model, timespan, options, ut); Model:模式 timespan:时间盘 ;option:选项 只有在模型参数是必需的。在未提供参数命令取自仿真参
10、数对话框中设置。欲了解 SIM 命令的详细语法,请参阅该卡的文档命令。该选项参数是提供额外的结构仿真的参数,包括解算器的名称和误差公差。你定 义使用 simset 命令的选项结构参数(见 simset)。仿真参数在“仿真讨论 参数对话框“ 10-8 页。 使用 set_param 命令 您可以使用 set_param 命令来启动,停止,暂停,或继续仿真,或更新的框图。该 set_param 命令的格式用于这种用途是 set_param(sys, SimulationCommand, cmd) 其中“ SYS”是系统的名称和“ CMD”是“开始”,“停止”,“暂停”,“继续”或“更新”。同样,你
11、可以使用 get_param 命令检查的状态模拟。该 get_param命 令用于这种用途的格式 get_param( SYS,SimulationStatus) Simulink 中返回“停止”,“初始化”,“运行”,“暂停”,“更新”,“终止”和“外部”(与实时使用 车间)。 分析模拟结果 下面的章节解释如何使用 Simulink 的工具,用于分析模拟结果。查看输出轨迹(第 11-2)线性模型(第 11-4)发现稳态点(第 11-7)说明如何显示您的输出目录描述了提取线性状态空间功能模型从Simulink 模型。 如何使用 Simulink 中的 TRIM 指令,以确定通过 Simulin
12、k 的代表系统的稳态点模型。 查看输出轨迹 从 Simulink 输出轨迹可以用三种方法之一绘制: 饲料的信号变成一个范围或 XY 图表块。 输出写入返回变量和使用 MATLAB 绘图命令。 使用到工作区块和绘制输出写入工作空间 结果用 MATLAB 绘图命令。 使用范围座 您可以在模拟过程中使用的显示输出轨迹一个范围块。这个简单的模型显示了使用范围块的一个例子。您可以在模拟过程中使用的显示输出轨迹一个范围块。这个简单的模型显示了使用范围块的一个例子。 在适用范围显示屏显示输出轨迹。范围块使你可以放大感兴趣的领域,或将数据保存到 工作区。在 XY 图形块,您可以暗算另一个信号。 使用返回变量
13、通过返回的时间和输出的历史,你可以使用 MATLAB 绘图命令来显示和注释输出轨迹。标记出的块是从信号与系统库中的外港块。输出轨迹, YOUT,由积分求解器返回。欲了解更多信息,请参见“工作区 I / O 面板”上 10-18 页。您也可以通过指定运行这个模拟,从模拟菜单变量的时候,输出和状态上的工作区 I / O 面板仿真参数对话框。然后,您可以使用绘制这些结果图(兜售, YOUT) 使用到工作区块 在要工作区块可以用于返回输出轨迹到 MATLAB 的工作空间。下面的模 型说明了这一点使用。变量 y及 t 出现在工作区中时的仿真是完整。您可以通过喂养时钟块成要存储的时间向量工作区块。您也可以通过输入变量获得时间向量名称时间对仿真参数的工作区 I / O 面板 对话框,菜单驱动的模拟,或通过使用 SIM 卡返回它命令(请参阅10-18 页的“工作区 I / O 面板”以获取更多信息)。在为工作区块可以接受数组输入,每个输入元素的轨迹存储在工作区中生成的变量。 线性模型 Simulink中提供了 linmod和 dlinmod函数提取线性模型在状态空间矩阵 A 的形式, B, C 和 D.国家空间矩阵 描述线性输 入输出关系为 x= Ax + Bu y = Cx + Du 其中, x, u 和 y 是状态,输入和输出向量 例如,下面的模式被称为 LMOD。