使用数值积分时,不是在每个时间步中添加随机数



如何添加"随机因子"只在每一个积分步骤中?因为也许我不想一直添加随机-例如,我想在时间步长= 0.004或0.008时添加它。

dt = 0.002;
end_1 = 2.0;
time = 0:dt:end_1;
Matrix = zeros(10,length(time);
Matrix(:,0.5/dt:0.6/dt) = repmat(...);
Random = randn(10,length(time);
Matrix = Matrix + Random;

在与dt不同的时间步长中添加Random的最佳方法是什么?

这个dt = 0.002稍后将作为解决矩阵出现的微分方程的积分步骤-现在,然而,我想添加随机成分,例如,更粗糙的时间步骤(每秒钟…或者可能每隔10步)。

您可以简单地创建一个空矩阵Random = zeros(10, length(time)),然后仅为其特定部分填充随机值。例如,如果您希望每第i步填充它,您可以这样做:

Random = zeros(10, length(time));
Random(:, 1:i:length(time)) = randn();

只要注意length(time)是否可以被你的粗步长整除。

相关内容

  • 没有找到相关文章

最新更新