MATLAB Answers

How to take the average of different initial conditions

2 views (last 30 days)
Samson
Samson on 28 Aug 2019
Commented: M on 10 Sep 2019
I have a code and I need to run the code for different initial conditions, then save and finally take the average. See code below
a = 0.2; b = 0.2; c = 5.7; sigma = 16; beta = 4; rho = 45.92;
% initial condition
x = rand (9.1);
g = (0: 5: 60);
% g = 0.5;
% computing the trajectory
dt = 0.01;
tspan = 100,000;
xinput = x;
X = zeros (9, tspan);
deltaDR = zeros (length (g));
deltaRA = zeros (length (g));
for j = 1: length (g)
X (:, 1) = x;
for i = 1: tspan
xoutput = rk4angelstepb (@ attractor, dt, xinput, a, b, c, sigma, beta, rho, g (j));
X (:, i) = xoutput;
xinput = xoutput;
end

  0 Comments

Sign in to comment.

Answers (1)

M
M on 28 Aug 2019
It is not clear what you want to do from the code you posted, especially the first loop :
for j = 1: length (g)
...
end
Could you give a bit more details and tell us where is the difficulty exactly ?

  2 Comments

Samson
Samson on 28 Aug 2019
The first loop is my coupling values which I want to use for the different initial conditions. I need to run my code for atleast 100 set of initial condition which I have as
x = rand (9.1)
I was thinking if I need 100 initial values, I will have it as
rand([9,1,10])
But how do I construct the loop and then average all. Also, I believe I will have to redefine
deltaDR = zeros (length (g));
deltaRA = zeros (length (g));
This is my issue
M
M on 10 Sep 2019
If you want to run the code for at least 100 iterations, you should not loop over length(g), because dimension of g is 1 x 13 .
Then, rand([9,1,10]) outputs a vector of dimensions 9 x 1 x 10, so you won't have your 100 sets of initial conditions.

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b