adding noise to the solution obtained from ode45/dde23
9 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Sam Chak
2023-12-12
Does it work if you execute the following?
[t, y] = ode45(@odefun, tspan, y0);
noise = mynoise(t); % user-defined math function for noise
ynoise = y + noise; % additive method
3 个评论
Sam Chak
2023-12-13
Hi @Muhammad
In theory, the approach remains the same. You store the ode45 solution in sol as a structure array, and then you need to evaluate the structure at n points in the interval
to obtain the data y.

%% ODE
odefun = @(t, y) [y(2); - y(1) - 2*y(2)];
tspan = [0 10];
y0 = [1; 0];
%% Direct Method
[t, y] = ode45(odefun, tspan, y0);
whos t y
%% 'sol' Method
sol = ode45(odefun, tspan, y0);
t = linspace(0, 10, 73)';
y = deval(sol, t)';
whos t y sol
更多回答(1 个)
Jalal Khan
2023-12-12
The best way to add noise to the solution obtained from solvers like ode45 or dde23 depends on the specific requirements of your problem and the characteristics of the noise you want to introduce
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!