问题标签 [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.
max - 如何在 Simulink 中找到信号的最大值?
我想使用信号的单个最大值(值增加)作为积分器的输入。我已经尝试了 max-min 块,但它没有给出单个值作为最大值。我还想在模型的单次运行中使用信号的最大值作为 simulink 块的输入值。是否可以使用 Simulink?
我必须将积分器的初始条件作为温度信号给出,该温度信号从 78 摄氏度增加到 280 摄氏度,并且可以再次随时间变化。我也想将最大值(例如 280)作为初始值输入到另一个块中。但我无法从这个增加的信号中检索最大值。
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!
matlab - 当模型中的查找表基于小幅度值时,如何使用具有高电流幅度的输入?
我正在尝试将模型拟合到某些测量值以对电池进行建模。我的模型的输入是电流,输出是电池端子的电压。我在我的模型中使用了一些 3D 查找表。
断点(尺寸)为:SOC(充电状态)、温度、电流幅值以及电池电路元件阻抗值中的表格数据。
使用非常小的电流值(在 2 A 范围内)进行测量。完成模型后,我应该使用包含非常高电流幅度(范围为 250 A)的电流输入标准信号来验证模型。然后将我的模型(电压)的输出与使用该标准电流信号的测量结果进行比较。
现在,当我尝试运行模型时,我会在其中一个积分器上遇到奇点错误。我确信这是由作为输入的电流的高幅度引起的,但问题是我不能使用饱和块来限制幅度。我也尝试用不同的求解器解决问题,但无法解决问题。有谁知道如何解决这个问题?
请从这里访问我的文件。
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
正确的行为,以便我可以“撤消”我的实体在运行时发生的转换,而不会刷新错误的值?
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)。
解决此问题并使我的自定义块在零时间也显示与默认块相同的行为的最佳方法是什么?我缺少任何参数/设置吗?
谢谢!
c++ - 在 boost 中为动态数组定义自定义步进器
我将如何在 boost 中为 ODE 积分器创建一个自定义步进器?我知道如何对在编译时知道大小的数组执行此操作。一个简单的实现是这样的
但是,如果我想使用这样的 state_type,我应该如何更改实现
基本上,我想将状态向量的大小作为参数传递给 main。
谢谢,
佐尔坦
algorithm - 二阶辛指数拟合积分器
我必须求解带电粒子在电磁场作用下的运动方程。由于我必须处理速度而不是精度,我不能使用自适应步长算法(如 Runge-Kutta Cash-Karp),因为它们会花费太多时间。我一直在寻找一种既是辛算法(如鲍里斯积分)又是指数拟合的算法(为了求解运动方程,即使方程是僵硬的)。我找到了一种方法,但它适用于二阶微分方程:
https://www.math.purdue.edu/~xiaj/work/SEFRKN.pdf
后来我发现了一篇论文,它描述了四阶辛指数拟合龙格库塔:
http://users.ugent.be/~gvdbergh/files/publatex/annals1.pdf
由于我必须处理速度问题,我一直在寻找低阶算法。是否存在二阶辛指数拟合 ODE 算法?
python - Python Integrator:时间列、数据列
我有以下结果:
第一列是(模拟)时间(不等距离);第二列是以千瓦为单位的产量。
现在我想以千瓦时计算总产量->因此我想整合生产。在 Python (numpy?) 中是否有一种简单的方法可以做到这一点?
非常感谢您的宝贵时间。