问题标签 [integrator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
815 浏览

max - 如何在 Simulink 中找到信号的最大值?

我想使用信号的单个最大值(值增加)作为积分器的输入。我已经尝试了 max-min 块,但它没有给出单个值作为最大值。我还想在模型的单次运行中使用信号的最大值作为 simulink 块的输入值。是否可以使用 Simulink?

我必须将积分器的初始条件作为温度信号给出,该温度信号从 78 摄氏度增加到 280 摄氏度,并且可以再次随时间变化。我也想将最大值(例如 280)作为初始值输入到另一个块中。但我无法从这个增加的信号中检索最大值。

0 投票
0 回答
1067 浏览

matlab - How to read a discontinues signal from workspace in Simulink

I have a standard validation signal and want to read it from workspace as the input of my model in Simulink and then compare the output of model with the one from measurements. As it is a validation signal I can not change the signal in order to remove the discontinuities. Whenever I try to run the model I receive a error regarding the singularity problems over the integrator blocks in my model, because of having discontinuities. Derivative input 1 of 'laplace_domain_test_V2/ct & dl & Warburg/Integrator' at time 140.0042 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) I tried to reduce the step size to very small values & tightening the error tolerance and also to change the solver to the stiff ones but the problem is still unfixed. Can any one please suggest a way to get rid of this error?

I really appreciate your help in advance!

0 投票
0 回答
82 浏览

matlab - 当模型中的查找表基于小幅度值时,如何使用具有高电流幅度的输入?

我正在尝试将模型拟合到某些测量值以对电池进行建模。我的模型的输入是电流,输出是电池端子的电压。我在我的模型中使用了一些 3D 查找表。

断点(尺寸)为:SOC(充电状态)、温度、电流幅值以及电池电路元件阻抗值中的表格数据。

使用非常小的电流值(在 2 A 范围内)进行测量。完成模型后,我应该使用包含非常高电流幅度(范围为 250 A)的电流输入标准信号来验证模型。然后将我的模型(电压)的输出与使用该标准电流信号的测量结果进行比较。

现在,当我尝试运行模型时,我会在其中一个积分器上遇到奇点错误。我确信这是由作为输入的电流的高幅度引起的,但问题是我不能使用饱和块来限制幅度。我也尝试用不同的求解器解决问题,但无法解决问题。有谁知道如何解决这个问题?

请从这里访问我的文件。

0 投票
1 回答
896 浏览

java - 在查询周围使用 JPA 事务时,Hibernate Integrator 导致刷新

我正在Integrator为 Hibernate 工作(集成器的背景:https ://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch14.html#objectstate-decl-security ),通过使用listeners 应该从我存储在数据库中的数据中获取我的数据,并将其转换为不同的形式以便在运行时进行处理。这在使用保存数据时效果很好,.persist()但是存在涉及事务的奇怪行为。以下代码来自 Hibernate 自己的快速入门教程代码

请注意包装查询以选择数据的异常事务开始/提交。在查询完成后运行它会给出以下输出:

看来,由于Integrator对相关实体进行了修改,它被标记为“脏”,并且在提交这个奇怪的事务时,它绕过了我的事件监听器并以错误的格式写回了值!我对代码进行了一些挖掘,结果发现它org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(FlushEvent, PersistenceContext)在上面被调用并试图让EventType.FLUSH_ENTITY. 不幸的是,为此添加的侦听EventType器从未在我的Integrator. 在这种情况下,我怎样才能写出Integrator正确的行为,以便我可以“撤消”我的实体在运行时发生的转换,而不会刷新错误的值?

0 投票
1 回答
4928 浏览

initialization - 自定义 Simulink 离散时间积分器模块

我试图使用梯形规则在 Simulink 中设计我自己的离散时间积分器的简单实现。这是我努力的结果(考虑我使用 1 作为时间积分间隔): 然后,为了仔细检查我是否做对了所有事情,我将结果与标准 Simulink 离散时间积分器模块(配置为使用梯形规则当然):

当我让步长在时间 1 上升时,一切运行良好(自定义和默认积分器块都以 0 作为初始条件):

而随着时间 0 的步长上升,我得到了两个积分器块响应之间的差异:

  • 自定义块:@Integral(t=0)=0.5; @积分(t=1)=1.5
  • 默认块:@Integral(t=0)=0; @t=1 积分(t=1)=1

我认为这取决于我的自定义块在 t=0 和初始条件 = 0 之间积分(即在 0 和 1 之间应用梯形规则,因此得到 0.5)。

解决此问题并使我的自定义块在零时间也显示与默认块相同的行为的最佳方法是什么?我缺少任何参数/设置吗?

谢谢!

0 投票
1 回答
220 浏览

c++ - 在 boost 中为动态数组定义自定义步进器

我将如何在 boost 中为 ODE 积分器创建一个自定义步进器?我知道如何对在编译时知道大小的数组执行此操作。一个简单的实现是这样的

但是,如果我想使用这样的 state_type,我应该如何更改实现

基本上,我想将状态向量的大小作为参数传递给 main。

谢谢,

佐尔坦

0 投票
0 回答
66 浏览

modelica - 集成到仿真模型中

在此处输入图像描述

在这种情况下,我使用的是 Dymola 程序。正如您在图中看到的,我们有我们的温度目标 (refTemp),我们正在将此温度与系统中的温度 (KvvTemp) 进行比较。我们的目标是区分这些温度,然后将差值乘以一个小数,这样我们的值将在进入积分器之前介于 0-1 之间。现在我的问题是,积分器的输出怎么可能是我们想要发送到系统的温度(y1)?关于如何设置通过积分器进入系统(y1)的温度是否有任何解释?

0 投票
0 回答
363 浏览

matlab - 具有定点数据类型的 Matlab Simulink 离散时间积分器模块

我在 Simulink 中设计了一个控制器,我想用 HDL 编译它并闪存到 FPGA。因此,我必须以定点样式定义使用的数据类型,而不是 Simulink 选择的标准双精度类型。
除了离散时间积分器块之外,我使用的每个块在数据类型更改后(当然除了某些情况下的精度)都与以前完全相同。对于定点数据类型(无论哪个字或分数长度),输出值只能减小,如果它达到数据类型的底部值限制,它会跳到顶部并再次减小。
我添加了一张图片以澄清差异。使用了双精度类型的积分器,第二个积分器完全相同,但同时记录了数据类型。

具有双精度和定点数据类型的积分器信号

我究竟做错了什么?我该如何解决这个问题?谢谢!

0 投票
0 回答
72 浏览

algorithm - 二阶辛指数拟合积分器

我必须求解带电粒子在电磁场作用下的运动方程。由于我必须处理速度而不是精度,我不能使用自适应步长算法(如 Runge-Kutta Cash-Karp),因为它们会花费太多时间。我一直在寻找一种既是辛算法(如鲍里斯积分)又是指数拟合的算法(为了求解运动方程,即使方程是僵硬的)。我找到了一种方法,但它适用于二阶微分方程:

https://www.math.purdue.edu/~xiaj/work/SEFRKN.pdf

后来我发现了一篇论文,它描述了四阶辛指数拟合龙格库塔:

http://users.ugent.be/~gvdbergh/files/publatex/annals1.pdf

由于我必须处理速度问题,我一直在寻找低阶算法。是否存在二阶辛指数拟合 ODE 算法?

0 投票
1 回答
38 浏览

python - Python Integrator:时间列、数据列

我有以下结果:

第一列是(模拟)时间(不等距离);第二列是以千瓦为单位的产量。

现在我想以千瓦时计算总产量->因此我想整合生产。在 Python (numpy?) 中是否有一种简单的方法可以做到这一点?

非常感谢您的宝贵时间。