Matlab 使用数值积分时,不在每个tilmestep中添加随机数

Matlab 使用数值积分时,不在每个tilmestep中添加随机数,matlab,numerical-integration,Matlab,Numerical Integration,如何仅在每一秒积分步骤中添加一个随机因子? 因为可能我不想一直添加随机数-例如,我想在时间步长=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不同的ti

如何仅在每一秒积分步骤中添加一个随机因子? 因为可能我不想一直添加随机数-例如,我想在时间步长=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不同的tilmestep中添加Random的最佳方法是什么


这个dt=0.002稍后将作为一个积分步骤,用于求解出现矩阵的微分方程-但是,现在,我想将随机分量添加到,例如,每2秒增加一个较粗的时间步骤。。。或者可能仅每10步一次。

您可以简单地创建一个空矩阵Random=zeros10,lengthtime,然后仅为其特定部分填充随机值。 例如,如果要在每个第i步中填充它,可以执行以下操作:

Random = zeros(10, length(time));
Random(:, 1:i:length(time)) = randn();
只需注意长度时间是否可被较粗的步长整除