- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Simulink 上有另一个问题:
是否可以在运行时暂停模拟?通过“单位延迟”建立几个步骤后,我想在下一步完成之前暂停我的模拟(用于显示值供用户查看)。之后 - 让我们说 - 单击模拟将继续一个步骤并重复该过程。最后,这应该具有某种调试功能。
我不是很确定这是如何实现的。我猜想在模拟参数中的某处,但在哪里以及如何?
最佳答案
据我所知,您可以通过三种方式解决此问题。
方法 1:根本不要暂停模拟。而是在适当的行上使用范围来提供足够的信息来了解模拟中发生的事情。
优点:您不会被执行顺序和模拟暂停所影响,从而导致困惑的结果。
缺点:在您的头脑中“时间同步”不同作用域的线可能很棘手,尤其是如果不是所有线都执行每个模拟步骤。 (这部分是由于范围框图显示为阶跃函数,而实际上它们是散点图。
方法 2: 使用内置的 Simulink 调试器。 (不要抱太大希望)。从您正在使用的模型中的 Tool>Simulink Debugger 菜单选项打开它。该工具允许您在某些 block 上设置断点、一次一个 block 或两者的某种组合。
优点:允许对模拟进行精细控制。
缺点:在实践中,我发现这个工具使用起来很困惑,而且容易使 Matlab 崩溃。另外,请注意执行顺序。
方法 3:在仿真执行顺序的开头创建一个嵌入式 Matlab 函数。这是一个例子:
函数 y=func(x);y=x;
在模拟开始时将此函数放在其中一条信号线上(以强制执行顺序)。然后在y=x上放一个调试点;线。现在,只要您的模拟碰到这条线,模拟就会暂停,等待您点击 Matlab 编辑器中的“继续”按钮。
优点:可靠、简单。
缺点:注意执行顺序。
执行顺序:
如果您不熟悉 Simulink 中的执行顺序,我建议您从模型菜单中打开“Format>Block Displays>Sorted Order”。这将在每个 block 上放置神秘的数字/字母代码,以某种方式指示 block 在您的模拟中执行的顺序。根据您的模型和布局,这些数字/字母代码可能很有意义,也可能没有意义。我不建议在通常的实践中使用这种排序顺序显示。相反,我建议学习和理解 Simulink 如何确定排序顺序/执行顺序。
要记住的重要一点是,调试点(使用 Simulink 调试器或嵌入式 Matlab 的天气)是执行顺序的一部分。这意味着当您到达调试点时,该点之后的 block 将不会更新它们的状态。这很有道理,但可能会让您感到惊讶的是,显示和范围通常是更新状态的最后一些 block ,即使它们在执行早期连接到由 block 提供的信号线也是如此。即使这些显示和范围位于(非原子)子系统内部,并且您的调试点位于该子系统外部,也是如此。您最终可能会遇到这样一种情况,即显示器或示波器上显示的值可能来自模拟中的最后一个时间步长。
您如何解决这个问题?将所有模拟放入原子子系统中,包括显示和范围。然后把你的调试点放在这个子系统之外。这将保证无论何时命中调试点,所有 block (包括显示和范围)的状态都是一致的。
如果其中任何一个没有意义,请告诉我。
关于debugging - Simulink:类似 Debug模式的仿真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919916/
学习SQL。有一个简单的带有字段标题的桌面游戏。我想根据标题进行搜索。如果我有一款名为 Age of Empires III: Dynasties 的游戏,并且我使用 LIKE 和参数 Age of
我正在尝试为以下数据结构创建镜头。我正在使用lens-family . data Tree = Tree { _text :: String, _subtrees ::
我发现很难理解这一点。比如说,在 Python 中,如果我想要一个根据用户输入在循环中修改的列表,我会有这样的内容: def do_something(): x = [] while(
我有一个像这样的 mysql 查询 SELECT group_name FROM t_groups WHERE group_name LIKE '%PCB%'; 结果是 group_name ----
我的数据库表中有超过一百万条记录。当我使用like时非常慢,当我使用match against时他们丢失了一些记录。 我创建帮助表: 标签列表 tag_id tag_name tag_rel_me
我在我的一个 Java 项目中使用 JXBrowser 来简单显示 googlemaps 网页,以便我可以在那里跟踪路线,但最近我想改进该项目,但我的问题是 JXBrowser 的许可证过期(只有一个
小问题:如何将 mysql_escape_string 变量包含在 like 子句中? "SELECT * FROM table WHERE name LIKE '%". %s . "%'" 或
我尝试使用几个jquery消息插件,例如alertify . 但我注意到的主要事情是系统消息框会停止后台功能,直到用户响应。其他插件没有此功能。 有没有办法将此功能添加到 jquery 插件中?可以扩
我是 Ruby 新手。我过去使用过 shell。我正在将 shell 程序转换为 ruby。我有以下命令 cmd="cat -n " + infile + " | grep '127.0.0.1
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
当我研究 Rust 时,我试图编写一个 Rust 函数来查看任何可迭代的字符串。 我最初的尝试是 fn example_1(iter: impl Iterator); fn example_2(ite
我必须在我的项目中使用代码拆分。但无论如何,第一次初始下载有一些代码。 现在我想向最终用户展示代码下载(.cache.html - 或其他代码拆分)的进度,例如 gmail 启动进度。 请你帮帮我。
我今天找到了一个错误,它最终是由我代码中的以下片段引起的(我试图在列表中仅过滤“PRIMARY KEY”约束): (filter #(= (% :constraint_type "PRIMARY KE
我正在尝试在关键字段上实现检查约束。关键字段由 3 个字符的前缀组成,然后附加数字字符(可以手动提供,但默认是从序列中获取整数值,然后将其转换为 nvarchar)。关键字段定义为 nvarhcar(
我正在尝试使用以下方式创建 List 实例: List listOne = new ArrayList(); List listTwo = new ArrayList(){}; List listTh
我过去曾为 iOS 开发过,最近转向了 mac 开发。我开始了一个“感受”事物的项目,但遇到了一个问题。我试图创建一个 NSTableView 来显示多个项目,包括一个标签、一个 2 UIImageV
我正在尝试编写一个查询,该查询将返回哪些主机缺少某个软件: Host Software A Title1 A
AFAIK,在三种情况下别名是可以的 仅限定符或符号不同的类型可以互为别名。 struct 或 union 类型可以为包含在其中的类型设置别名。 将 T* 转换为 char* 是可以的。 (不允许相反
\s 似乎不适用于 sed 's/[\s]\+//' tempfile 当它为工作时 sed 's/[ ]\+//' tempfile 我正在尝试删除由于命令而出现在每行开头的空格: nl -s ')
我正在使用 ocamlgraph 在 ocaml 中编写程序,并想知道是否要将其移植到 F# 我有哪些选择?谢谢。 最佳答案 QuickGraph .Net 最完整的图形库之一 关于F# 图形库(类似
我是一名优秀的程序员,十分优秀!