上个月,我一直在努力提高我在Dymola的模型的收敛性能。现在我在想,如果我定义状态变量的min和max属性,比如最大质量流率为10000 be /s,最小质量流率为0.01 be/s,在迭代过程中,当结果到达最大或最小边界时,是继续迭代还是停止迭代?我正在考虑,如果当迭代结果到达边界时,迭代会以相反的方向反弹,这可能会确保我的模型的收敛性。 我准备对我的想法做一些测试,如果有人有同样的问题或意见,欢迎评论或回答。
幸运的是,C++提供了这样的模板类exponential_distribution,它可以根据指数分布生成浮点值,提供与平均值(即到达率)相反的值。另一方面,每个生成的值表示两个随机事件之间的间隔,这两个随机事件是独立的,但由一个恒定的平均到达率(即lambda,λ)来定义。所以lambda是平均值的反面。of generated randoms (number of arrivals)/the sum of the generated randoms (time duration)生成的随机值来计算到达