Solving nonlinear DE by reduction of order on matlab

3 views (last 30 days)
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.
function dydt = odesys(t, y)
dydt(1) = y(1);
dydt(2) = t + y(2) - y(2)^2;
dydt = [dydt(1); dydt(2)];
[t, y] = ode45(@odesys, [-1 1], [-1 1])
plot(t, y);
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?

Accepted Answer

Fabio Freschi
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
규민 권
규민 권 on 13 Aug 2021
Thank you again! Very helpful for me to be handling MATLAB better. Have a good day!

Sign in to comment.

More Answers (0)




Community Treasure Hunt

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

Start Hunting!

Translated by