# multiple graphs are coming but I need only one

1 view (last 30 days)
MINATI on 27 Feb 2019
Edited: MINATI on 28 Feb 2019
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

Geoff Hayes on 27 Feb 2019
Minati - by multiple graphs do you mean multiple figures or multpile plots?
MINATI on 27 Feb 2019
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.

Walter Roberson on 27 Feb 2019
Move the plotting out of solver() and put it after the fsolve() call before the definition of the function solver.

MINATI on 27 Feb 2019
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.
Walter Roberson on 27 Feb 2019
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