adding noise to the solution obtained from ode45/dde23
1 view (last 30 days)
Show older comments
what is the best way to add noise to the solution obtained from the solver like ode45/dde23?
0 Comments
Accepted Answer
Sam Chak
on 12 Dec 2023
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 Comments
Sam Chak
on 13 Dec 2023
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1567739/image.png)
%% 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
More Answers (1)
Jalal Khan
on 12 Dec 2023
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
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!