Trying to plot 3-d
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
My equation is
dxdt=N0*sin(omega*t)*x*(1-x/K);
N0=1:1:10;
omega=1:1:10;
I want to plot 3-D for N0,omega,Xmax and Xmean.
I am trying with the following code but it does not work.
function RunOsciliationsky3D
N0all= 1:1:10;
N=length(N0all);
omegaall= 1:1:10;
M=length(omegaall);
Pmax=zeros(N,M);
Pmean=zeros(N,M);
Pall=[Pmax,Pmean];
x=size(Pall);
for i=1:N
for j =1:N
[t,x]=ode45(@osciliation,[0 100],0.1,[],N0all(i),10,omegaall(j));
Pall(i,j)=x;
end
end
[N0x,omegay]=meshgrid(N0all,omegaall);
h=mesh(N0x,omegay,Pall);
1;
1 Commento
Andy L
il 8 Ago 2014
What error are you getting? I have tried copying and pasting but the function in your optimisation function isn't included.
Risposta accettata
Yu Jiang
il 8 Ago 2014
See the files I revised as attached. It can generate Pmean. Similarly you can plot Pmax. Notice that it is not clear what K is, so I let it be 0.15. I also force N0 to take negative values since positive values make the system unstable.
Hope it helps.
- Yu
2 Commenti
Yu Jiang
il 3 Set 2014
When N0 is positive, the system can easily become unstable. Therefore, the initial condition should be reduced.
Please make the three changes based on the code I provided.
Line 12 of RunOsciliationsky3D.m : Change 0.1 to 0.01 or less
Line 2 of oscillation.m: Change K = 1 to K = 10
Line 3 of oscillation.m: Change x/0.15 to x/K.
This should work.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Nonlinear Dynamics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!