my program is not working properly
1 view (last 30 days)
Show older comments
function kk2
close all; clear all;
% accuracy
%options = odeset('RelTol',1e-9,'AbsTol', 1e-16);
[t,y]=ode45(@f,[0 100],[0.1;0.1;0.1+1;0.1;0.1;0.1] );
plot(t,y(:,2),t,y(:,4),t,y(:,6))
function dy=f(t,y)
%x=y(1);y=y(3);z=y(5)
r=28;
b=8/3;
k=10;
dy=zeros(6,1)
dy= [y(2);k^2*y(1)-k^2*y(3)-k*y(1)*y(5)+k*r*y(5)-k*y(3);y(4);b*y(1)*y(5)-y(1)^2*y(3)-k*y(1)*y(3)+k*y(3)*y(5)-r*k*y(1)+k*r*y(3)+y(1)*y(5)-r*y(1)+y(3);y(6);-y(1)^2*y(5)+r*y(1)^2-y(1)*y(3)-k*y(1)*y(3)+k*y(3)^2-b*y(1)*y(3)+b^2*y(5)]
end
end
so sir we want to plot between t,x,t,y
and we want to plot t vs second element of dy t,fourth element t,vs sixth element
1 Comment
Answers (1)
Sam Chak
on 11 Mar 2022
Edited: Sam Chak
on 11 Mar 2022
Hi @shiv gaur
It appears that the system is highly unstable and all states blow up at around 0.35 sec except for . Please check the state equations again. Sometimes, the plus/minus signs can make a huge difference.
Edit: It has some similarities like the Lorenz system, because I recognized the magic values: 10, 8/3, 28.
clear all; clc
r = 28;
b = 8/3;
k = 10;
tspan = linspace(0, 0.3, 10001)';
fun = @(t, y) [y(2); ...
k^2*y(1) - k^2*y(3) - k*y(1)*y(5) + k*r*y(5) - k*y(3); ...
y(4); ...
b*y(1)*y(5) - y(1)^2*y(3) - k*y(1)*y(3) + k*y(3)*y(5) - r*k*y(1) + k*r*y(3) + y(1)*y(5) - r*y(1) + y(3); ...
y(6); ...
- y(1)^2*y(5) + r*y(1)^2 - y(1)*y(3) - k*y(1)*y(3) + k*y(3)^2 - b*y(1)*y(3) + b^2*y(5)];
[t, y] = ode45(fun, tspan, [0.1, 0.1, 1.1, 0.1, 0.1, 0.1]);
plot(t, y)
Once you have fixed the model, please ensure that all states can propagate at least until your desired final time, sec, and then you can choose what you want to plot.
6 Comments
Sam Chak
on 12 Mar 2022
Hi @shiv gaur
Have you double checked the mathematical equations of your system? Since you didn't tell us what kind of system it is, and your supplied ODEs have been verified by the ode45 solver, there seems nothing wrong with the program itself. If you are very sure that the system is stable, then my guess is that one or more of the terms in the state equations must be the root cause of the instability.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!