multiple graphs are coming but I need only one

function main
S = 1; c = -1.25; Pr = 0.7; n = 0.8;
% n=input('n=') %%n=-0.3,-0.5
x = [3 -1];
x1 = fsolve(@solver, x);
function F = solver(x)
[t, u] = ode45(@equation,[0,5], [S, c, x(1), 1, x(2)]);
F = [u(end, 2)-1 u(end, 4)];
figure(1)
plot(t, u(:,4), 'b-');
hold on
end
function dy = equation(t, y)
dy = zeros(5,1);
dy(1) = y(2);
dy(2) = y(3);
dy(3) = y(2)^2 - y(1) * y(3) - 1;
dy(4) = y(5);
dy(5) = Pr * (n * y(2) * y(4) - y(1) * y(5));
end
end
%%The present code gives multiple graphs instead of 1

2 Comments

Minati - by multiple graphs do you mean multiple figures or multpile plots?
Dear Geoff
- by multiple graphs do you mean multiple figures or multpile plots?
its multiple curves in one fig. but I need only one curve.
If I strike out "hold on" option then only one curve is comming.
But for different inputs of 'n'.,different curves should come into picture,which are not coming.

Sign in to comment.

 Accepted Answer

Move the plotting out of solver() and put it after the fsolve() call before the definition of the function solver.

3 Comments

Dear Walter
It looks like you are right.
Another help needed is how can we take 'c' in x-axis(continuous range.[-1.3:0.02:-1.1])
with this code.
MINATI
MINATI on 28 Feb 2019
Edited: MINATI on 28 Feb 2019
how can we take 'c' in x-axis(continuous range.[-1.3:0.02:-1.1])
with this code.
still unable to draw

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 27 Feb 2019

Edited:

on 28 Feb 2019

Community Treasure Hunt

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

Start Hunting!