Solving nonlinear DE by reduction of order on matlab
12 views (last 30 days)
Show older comments
Nice of you all to answer my question.
I tried to graph the nonlinear ordinary DE in a textbook(Advanced Engineering Mathematics 6th Ed by Zill Wright).\
the DE is like this.
dy/dx = u
du/dx = x + y - y^2
Written the codes like below, but only gained 2 graphs each.
[sourcecode]
function dydt = odesys(t, y)
dydt(1) = y(1);
dydt(2) = t + y(2) - y(2)^2;
dydt = [dydt(1); dydt(2)];
end
[command]
[t, y] = ode45(@odesys, [-1 1], [-1 1])
plot(t, y);
grid

I want to get the graph as on the textbook, like the picture right below.(In case of copyright, I couldn't get original picture in the book)

What is wrong with my code?
0 Comments
Accepted Answer
Fabio Freschi
on 11 Aug 2021
Edited: Fabio Freschi
on 11 Aug 2021
There are some typos in your description of the problem. Here the correct version
% your ODE - note that (y(1) and y(2) are exchanged)
odesys = @(t,y)[y(2); t+y(1)-y(1)^2];
% soluiton - note that the time span is [0 10] and the initial conditions
% are set for t = 0;
[t, y] = ode45(odesys, [0 10], [-1 1]);
% plot
figure, plot(t,y(:,1));
grid on
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!