double forloop and plotting

1 Ansicht (letzte 30 Tage)
Junhwi Mun
Junhwi Mun am 9 Jun. 2020
Bearbeitet: madhan ravi am 12 Jun. 2020
Hi, I’m stuck on using ‘double forloop’
I got each ’all_K_db{i}’ corresponding to ‘e_1value’
and I want to get solutions and plot them in a (time, state x) graph.
As there are 5 values for ’all_K_db{i}’ and 2 values for ‘x=(x1,x2)’, 10 lines should exist on a plot. How can I show all the lines in one graph?
even if the code doesn't make any error, I can't check all(10lines) values of x=(x1,x2), I only see 2lines
%Figure2-2,data-based
e_1value=0.01:0.5:2.01;
numb_t = length(e_1value);%5
x1=[1; 1];
tspan = (1:2:15);
for tid=1:2:15
for i=1:numb_t
A= [0.2, 1.3; 0.1, 1.2];
B= [1; 2];
D= [0.45 0.45; 0.3 -0.3];
dxdt =@(t,x) A*x+ B*(all_K_db{i})*x+ D*x*(all_K_db{i})*x;
end
[t,x] = ode45(dxdt, tspan, x1);
end
  2 Kommentare
Junhwi Mun
Junhwi Mun am 9 Jun. 2020
I also used 'all_x{tid}=x;' right after [t,x] = ode45(dxdt, tspan, x1);, but every 'all_x{tid}=x' has the same values for (x1,x2)
Rik
Rik am 9 Jun. 2020
You are overwriting all your results in each loop.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Ayush Gupta
Ayush Gupta am 12 Jun. 2020
Bearbeitet: madhan ravi am 12 Jun. 2020
The problem is here that you are overwriting values when you use
[t,x] = ode45(dxdt, tspan, x1);
As this line is outside of the second loop, only one dxdt value is returned and since the first/outside loop runs one time, it stores only 2 values and therefore you can see only 2 lines instead of 10. Correct version of this will be the following:
%Figure2-2, data-based
e_1value=0.01:0.5:2.01;
numb_t = length(e_1value);%5
x1=[1; 1];
tspan = (1:2:15);
for tid=1:2:15
for i=1:numb_t
A= [0.2, 1.3; 0.1, 1.2];
B= [1; 2];
D= [0.45 0.45; 0.3 -0.3];
dxdt =@(t,x) A*x+ B*(all_K_db{i})*x+ D*x*(all_K_db{i})*x;
[t,x] = ode45(dxdt, tspan, x1);
end
end

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by